:root{--bg: #f4efe7;--bg-strong: #e8ddd0;--surface: rgba(255, 251, 246, .7);--surface-strong: #fffaf3;--line: rgba(34, 30, 25, .12);--text: #1d1a17;--muted: #5f574d;--accent: #9f4d2c;--accent-strong: #7f3316;--accent-soft: #f2d7c7;--shadow: 0 24px 80px rgba(43, 28, 18, .12);--radius-xl: 32px;--radius-lg: 24px;--radius-md: 18px;--content-width: 1180px;--anchor-offset: 108px}*{box-sizing:border-box}html{scroll-behavior:smooth}:where(main[id],section[id]){scroll-margin-top:var(--anchor-offset)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;font-family:Manrope,sans-serif;color:var(--text);background:radial-gradient(circle at top left,rgba(159,77,44,.18),transparent 28%),radial-gradient(circle at 85% 15%,rgba(52,104,86,.14),transparent 20%),linear-gradient(180deg,#f9f5ef 0%,var(--bg) 50%,#efe7dc 100%);min-height:100vh;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(29,26,23,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(29,26,23,.02) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(180deg,rgba(0,0,0,.45),transparent 85%)}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}main{padding:0 24px 48px;position:relative;z-index:1}.shell{width:min(100%,var(--content-width));margin:0 auto}.site-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(18px);background:#f4efe7c7;border-bottom:1px solid rgba(29,26,23,.08)}.site-header__inner{width:min(100%,var(--content-width));margin:0 auto;padding:18px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;flex-direction:column;gap:2px;font-weight:700;letter-spacing:-.03em}.brand__logo{display:flex;align-items:center;gap:10px}.brand__monogram{width:36px;height:36px;flex:0 0 auto}.brand__name{font-weight:700;letter-spacing:-.03em}.brand span:last-child{font-size:.84rem;font-weight:500;color:var(--muted);letter-spacing:0}.nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end}.nav a{font-size:.94rem;color:var(--muted)}.nav__cta{position:relative;overflow:hidden;padding-inline:18px 16px;gap:12px;background:#fffaf3eb;border-color:#1d1a171a;box-shadow:0 12px 24px #1d1a170f;color:var(--text)}.nav__cta:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,#9f4d2c1f,#9f4d2c00);opacity:0;transform:translate(-18%);transition:opacity .22s ease,transform .26s ease;pointer-events:none}.nav__cta span{position:relative;z-index:1}.nav__cta-icon{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:999px;background:#9f4d2c1f;color:var(--accent-strong);transform:translate(0) rotate(0);transition:transform .22s ease,background-color .22s ease,color .22s ease}.nav__cta-icon svg{width:.92rem;height:.92rem;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;fill:none}.nav__cta:hover{transform:translateY(-1px);border-color:#9f4d2c38;background:#fffaf3;box-shadow:0 18px 32px #9f4d2c1f}.nav__cta:hover:before{opacity:1;transform:translate(0)}.nav__cta:hover .nav__cta-icon{transform:translate(2px) rotate(6deg);background:#9f4d2c2e;color:var(--accent)}.button,.button-secondary,button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:999px;font:inherit;font-weight:700;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.button,button{background:var(--accent);color:#fff9f5;box-shadow:0 16px 30px #9f4d2c38}.button:hover,button:hover{transform:translateY(-2px);background:var(--accent-strong);box-shadow:0 20px 40px #9f4d2c47}.button-secondary{background:#fffaf3c7;border-color:#1d1a171f;color:var(--text)}.button-secondary:hover{transform:translateY(-1px);border-color:#1d1a173d;background:#fffaf3}.hero{padding:88px 0 48px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:28px;align-items:stretch}.hero__copy,.hero__panel,.section-card,.project-card,.contact-card,.privacy-card{border:1px solid var(--line);background:var(--surface);backdrop-filter:blur(12px);box-shadow:var(--shadow);border-radius:var(--radius-xl)}.hero__copy{padding:40px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;opacity:0}.hero__intro{display:grid;gap:18px}.hero__summary{display:grid;gap:24px;margin-top:6px}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fffaf3d6;border:1px solid rgba(29,26,23,.08);font-size:.85rem;font-weight:700;color:var(--accent-strong);width:fit-content}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px #9f4d2c24}h1,h2,h3{margin:0;line-height:1;letter-spacing:-.045em}h1,h2{font-family:Cormorant Garamond,serif;font-weight:600}h1{font-size:clamp(3.4rem,8vw,6.8rem);max-width:12ch;text-wrap:balance}h2{font-size:clamp(2.4rem,5vw,4rem);margin-bottom:14px;text-wrap:balance}h3{font-size:1.2rem;font-weight:800;margin-bottom:10px}.hero p,.section-copy p,.project-card p,.contact-card p,.privacy-card p,.privacy-card li,.timeline li,.service-card p,.process-step p,.small-note,.list{font-size:1rem;color:var(--muted);margin:0}.hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:8px}.metric strong{display:block;font-size:1.7rem;line-height:1;margin-bottom:6px;color:var(--text)}.hero__panel{padding:28px;position:relative;overflow:hidden;opacity:0}.hero-card-stack{display:grid;gap:14px;height:100%}.metric,.mini-card{padding:18px;border-radius:var(--radius-lg);background:#fffaf3cc;border:1px solid rgba(29,26,23,.08)}.mini-card{display:grid;gap:6px;margin-bottom:20px}.metric-grid,.services-grid,.projects-grid,.process-grid,.contact-grid,.study-grid{display:grid;gap:18px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section{padding:32px 0 80px}.section-card,.contact-card,.privacy-card{padding:34px 34px 52px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:28px}.section-heading p{max-width:60ch;color:var(--muted);margin:0;font-size:1rem}.study-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start}.list,.timeline{padding-left:20px;margin:0;display:grid;gap:10px}.timeline strong,.project-card strong,.service-card strong,.process-step strong{color:var(--text);font-size:1rem;font-weight:800}.services-grid,.projects-grid,.process-grid,.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.services-grid,.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card,.process-step{padding:24px;border-radius:var(--radius-lg);background:#fffaf3db;border:1px solid rgba(29,26,23,.08);min-height:100%}.service-card ul,.contact-list,.project-tags{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}.service-card li,.project-tags li,.contact-list li{padding:8px 12px;border-radius:999px;background:var(--accent-soft);font-size:.88rem;font-weight:700;color:var(--accent-strong)}.project-card{padding:24px;display:flex;flex-direction:column;gap:14px;min-height:100%}.project-card .button-secondary{margin-top:auto;width:100%}.project-card__label{font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-strong)}.contact-card{min-height:100%;display:grid;gap:18px}.contact-grid{align-items:stretch;grid-template-columns:minmax(300px,.9fr) minmax(340px,.85fr)}.contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:12px;align-content:start;margin-top:6px}.contact-list li{display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 18px;border-radius:18px;background:#f2d7c794;border:1px solid rgba(159,77,44,.14);font-size:.94rem;font-weight:700;color:var(--accent-strong);box-shadow:0 10px 24px #9f4d2c14}.contact-list li:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 auto}.contact-list li:last-child{grid-column:2;justify-self:start}.contact-form{display:grid;gap:14px}.contact-form__feedback{min-height:1.6em;margin:2px 2px 0;padding:0;font-size:.94rem;font-weight:700;color:var(--muted)}.contact-form__feedback[data-state=success]{color:#1f7a3e}.contact-form__feedback[data-state=error]{color:#ab2f2f}.contact-form__trap{position:absolute;left:-9999px;opacity:0;pointer-events:none}.field{display:grid;gap:8px}.field label{font-weight:700;font-size:.92rem}.field input,.field textarea{width:100%;padding:14px 16px;border-radius:18px;border:1px solid rgba(29,26,23,.14);background:#ffffffb8;font:inherit;color:var(--text)}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field textarea:focus{outline:2px solid rgba(159,77,44,.2);border-color:#9f4d2c5c}.contact-form__actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}.contact-form__actions>*{flex:1 1 220px}.contact-form__actions .button-secondary,.contact-form__actions button{min-height:56px;padding:0 24px;border-radius:20px;font-size:1rem;font-weight:800;letter-spacing:-.02em}.contact-form__actions .button-secondary{background:#ffffff75;border-color:#1d1a1724;box-shadow:inset 0 1px #ffffff73}.contact-form__actions .button-secondary:hover{background:#ffffffb8;border-color:#1d1a173d;box-shadow:0 12px 24px #1d1a1714}.contact-form__actions button{box-shadow:0 18px 28px #9f4d2c2e}.contact-form__actions button:disabled{cursor:wait;opacity:.78;transform:none;box-shadow:0 10px 18px #9f4d2c1f}.small-note{font-size:.92rem}.contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,max-content));gap:10px;list-style:none;margin:0;padding:0}.contact-links li:last-child{grid-column:2;justify-self:start}.contact-link{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 18px;border-radius:18px;background:#f2d7c794;border:1px solid rgba(159,77,44,.14);font-size:.97rem;font-weight:700;color:var(--accent-strong);text-decoration:none;box-shadow:0 10px 24px #9f4d2c14;transition:background .18s,box-shadow .18s;width:fit-content}.contact-link:hover{background:#f2d7c7e0;box-shadow:0 14px 28px #9f4d2c26}.contact-link--email{background:#d2e3ffb8;border-color:#386cff33;color:#2b57c7;box-shadow:0 10px 24px #386cff1f}.contact-link--email:hover{background:#d2e3ffeb;box-shadow:0 14px 28px #386cff2e}.contact-link--whatsapp{background:#c8ebd299;border-color:#25994b2e;color:#1a6635;box-shadow:0 10px 24px #25994b14}.contact-link--whatsapp:hover{background:#c8ebd2e6;box-shadow:0 14px 28px #25994b26}.contact-link__icon{width:20px;height:20px;flex:0 0 auto}.site-footer{padding:18px 24px 48px;position:relative;z-index:1}.site-footer__inner{width:min(100%,var(--content-width));margin:0 auto;padding:24px 28px;border-radius:26px;border:1px solid rgba(29,26,23,.08);background:#fffaf3c7;display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;box-shadow:var(--shadow)}.footer-note{max-width:58ch;font-size:.92rem;color:var(--muted)}.footer-links{display:flex;gap:16px;flex-wrap:wrap;font-weight:700}.privacy-main{padding:72px 24px 48px;position:relative;z-index:1}.privacy-card{width:min(100%,860px);margin:0 auto;display:grid;gap:22px}.privacy-card ul{padding-left:20px;margin:0;display:grid;gap:10px}.cyber-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}.cyber-cert{display:grid;gap:14px}.cyber-cert__badge{display:inline-flex;align-items:center;padding:7px 16px;border-radius:999px;background:var(--accent-soft);border:1px solid rgba(159,77,44,.22);font-size:.85rem;font-weight:800;color:var(--accent-strong);letter-spacing:.06em;text-transform:uppercase;width:fit-content}.cyber-cert__desc{font-size:1rem;color:var(--muted);margin:0;line-height:1.6}.bg-orbs{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.orb{position:absolute;border-radius:50%;filter:blur(100px);will-change:transform;opacity:0}.orb--1{width:600px;height:600px;background:radial-gradient(circle,rgba(159,77,44,.18),transparent 70%);top:-15%;left:-10%}.orb--2{width:500px;height:500px;background:radial-gradient(circle,rgba(52,104,86,.15),transparent 70%);top:15%;right:-12%}.orb--3{width:450px;height:450px;background:radial-gradient(circle,rgba(159,77,44,.12),transparent 70%);bottom:25%;left:15%}.scroll-progress{position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transform:scaleX(0);transform-origin:left}.word-wrap{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em}.word-wrap .word{display:inline-block;will-change:transform}.about-intro{display:grid;grid-template-columns:auto 1fr;gap:32px;align-items:start}.about-photo{width:160px;height:160px;border-radius:50%;object-fit:cover;border:3px solid var(--line);flex:0 0 auto}.project-card__image{width:100%;height:auto;border-radius:var(--radius-md);object-fit:cover;aspect-ratio:16 / 9}.testimonials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.testimonial-card{padding:28px;border-radius:var(--radius-lg);background:#fffaf3db;border:1px solid rgba(29,26,23,.08);display:flex;flex-direction:column;gap:14px;transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),border-color .35s ease}.testimonial-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px #2b1c121f;border-color:#9f4d2c24}.testimonial-card__quote{font-family:Cormorant Garamond,serif;font-size:3.5rem;line-height:1;color:var(--accent);opacity:.4;margin-bottom:-12px}.testimonial-card__text{margin:0;padding:0;font-size:1rem;color:var(--muted);line-height:1.6;font-style:italic}.testimonial-card__author{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:10px;border-top:1px solid var(--line)}.testimonial-card__avatar{width:40px;height:40px;border-radius:50%;background:var(--accent-soft);color:var(--accent-strong);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;flex:0 0 auto}.testimonial-card__name{display:block;font-size:.94rem;font-weight:800;color:var(--text)}.testimonial-card__company{display:block;font-size:.84rem;color:var(--muted)}.service-card,.process-step{transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),border-color .35s ease}.service-card:hover{transform:translateY(-6px);box-shadow:0 28px 60px #2b1c1229;border-color:#9f4d2c2e}.process-step:hover{transform:translateY(-4px);box-shadow:0 20px 40px #2b1c121f;border-color:#9f4d2c24}.project-card{transition:transform .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1),border-color .35s ease}.project-card:hover{transform:translateY(-6px);box-shadow:0 32px 60px #2b1c122e;border-color:#9f4d2c33}.metric,.mini-card{transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.metric:hover,.mini-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #2b1c121a;border-color:#9f4d2c24}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1080px){.hero,.study-grid,.cyber-grid,.contact-grid,.services-grid,.projects-grid,.process-grid,.testimonials-grid{grid-template-columns:1fr}.about-intro{grid-template-columns:1fr;justify-items:center;text-align:left}.about-intro .study-grid{width:100%}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-heading{flex-direction:column;align-items:start}}@media(max-width:720px){:root{--anchor-offset: 132px}.site-header__inner,main,.site-footer{padding-left:18px;padding-right:18px}.services-grid,.projects-grid,.hero-card-stack,.service-card,.project-card,.mini-card,.testimonial-card{min-width:0}.nav{gap:12px}.nav a{font-size:.88rem}.hero{padding-top:52px}.hero__copy,.hero__panel,.section-card,.contact-card,.privacy-card{padding:24px;border-radius:24px}.section-card,.service-card,.project-card,.hero__panel{overflow:hidden}.section-card{overflow:visible}h1{font-size:clamp(2.8rem,18vw,4.2rem)}h2{font-size:clamp(2.1rem,11vw,3rem)}.metric-grid{grid-template-columns:1fr}.service-card li,.project-tags li{display:inline-flex;max-width:100%;white-space:normal;word-break:break-word;overflow-wrap:anywhere}.service-card,.project-card{padding-bottom:30px}#servizi .section-card,#progetti .section-card,#testimonianze .section-card,#processo .section-card{padding-bottom:45px}.services-grid,.projects-grid{padding-bottom:8px}.service-card ul,.project-tags{margin-bottom:6px}.about-photo{width:120px;height:120px}.contact-form__actions,.site-footer__inner{align-items:stretch}.contact-list{grid-template-columns:1fr}.contact-list li:last-child{grid-column:auto}.contact-links{grid-template-columns:1fr}.contact-links li:last-child{grid-column:auto}}
