@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--paper:#f3f2ee;--ink:#232522;--muted:#62655f;--line:#cacbc4;--dark:#242723;--font:'DM Sans',Arial,sans-serif;scroll-behavior:smooth;scroll-padding-top:32px}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:17px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:7px}::selection{background:var(--ink);color:var(--paper)}.wrap{width:calc(100% - 112px);max-width:1440px;margin-inline:auto}.header{height:118px;display:flex;align-items:center;justify-content:space-between;}.brand{display:block;width:164px}.brand img{display:block;width:100%;height:auto;filter:opacity(.86)}nav{display:flex;gap:40px;font-size:15px}nav a{padding:12px 0}nav a:hover{text-decoration:underline;text-underline-offset:7px}.skip{position:fixed;top:-80px;background:var(--ink);color:var(--paper);padding:16px;z-index:9}.skip:focus{top:8px}.hero{position:relative;padding-top:60px;padding-bottom:54px;min-height:650px;overflow:hidden}.hero-heading{position:relative;z-index:1;pointer-events:none}.hero h1{font-size:clamp(64px,6.7vw,105px);line-height:1.04;letter-spacing:-.065em;font-weight:450;margin:0}h1 span,.contact h2 span{color:var(--muted)}.hero-art{position:absolute;right:-4px;top:-14px;width:39%;height:470px;display:flex;align-items:center;justify-content:center}.hero-art img{width:91%;height:auto;filter:opacity(.86);position:relative;transform:translate(12px,10px)}.hero-bottom{margin-top:63px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.hero-bottom p{max-width:460px;font-size:19px;line-height:1.6;margin:0 0 0 auto}.section{padding-top:42px;padding-bottom:100px;}.intro-grid,.outlook-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px}h2{font-size:clamp(35px,3.5vw,54px);font-weight:450;letter-spacing:-.045em;line-height:1.15;margin:0}.copy{max-width:530px}.copy p{font-size:19px;line-height:1.65;margin:0 0 22px}.copy p:last-child{margin-bottom:0}.method{padding-bottom:100px}.method-row{padding:32px 0 38px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:baseline}.method-row h3{font-size:44px;font-weight:450;letter-spacing:-.04em;margin:0}.method-row p{max-width:450px;font-size:17px;line-height:1.6;margin:0}.outlook{background:var(--dark);color:var(--paper);border-radius:88px 0 88px 0}.outlook-inner{padding:68px 64px}.outlook .copy{color:#d0d3ca}.outlook-grid{position:relative;z-index:1;align-items:center}.contact{padding-top:100px;padding-bottom:68px}.contact h2{font-size:clamp(48px,6vw,88px);letter-spacing:-.055em}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:45px}.contact-bottom p{font-size:18px;line-height:1.6;margin:0}.footer{padding-top:26px;padding-bottom:34px;display:flex;align-items:center;gap:48px}.footer .brand{width:115px;flex-shrink:0}.footer>div{display:flex;flex-direction:column;gap:6px;font-size:13px}.copyright{color:var(--muted);font-size:12px}.copyright{margin-left:auto;white-space:nowrap}
@media(min-width:1700px){.hero{min-height:710px}.hero h1{font-size:114px}.hero-art{height:500px}.hero-bottom{margin-top:75px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.hero h1{font-size:70px}.hero-art{width:36%;top:30px;height:360px}.hero{min-height:600px}.hero-bottom{gap:40px}.hero-bottom p{font-size:17px}.intro-grid,.outlook-grid{gap:40px}.copy p{font-size:17px}.method-row{grid-template-columns:1.1fr 1fr;gap:40px}.method-row h3{font-size:35px}.outlook-inner{padding:55px 38px}.outlook{border-radius:64px 0 64px 0}.footer{gap:25px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:88px}.brand{width:133px}nav{gap:22px;font-size:14px}nav a:first-child{display:none}.hero{padding-top:36px;padding-bottom:42px;min-height:0}.hero h1{font-size:clamp(43px,9.9vw,68px);letter-spacing:-.059em;line-height:1.07}.hero-art{position:relative;margin:20px 0 8px auto;width:60%;height:225px;top:auto;right:-15px}.hero-art img{width:95%;height:100%;transform:none}.hero-bottom{margin-top:22px;display:flex;flex-direction:column-reverse;align-items:start;gap:22px}.hero-bottom p{max-width:100%;font-size:17px;line-height:1.6;margin:0}.section{padding-top:28px;padding-bottom:58px}.intro-grid,.outlook-grid{grid-template-columns:1fr;gap:27px}h2{font-size:36px}.copy p{font-size:17px}.method-row{grid-template-columns:1fr;gap:14px;padding:27px 0}.method-row h3{font-size:34px}.method-row p{font-size:16px}.outlook-inner{padding:42px 25px}.outlook{border-radius:48px 0 48px 0}.outlook h2{font-size:clamp(28px,7.4vw,36px)}.contact{padding-top:60px;padding-bottom:42px}.contact h2{font-size:46px}.contact-bottom{display:block;margin-top:28px}.contact-bottom p{font-size:16px}.footer{flex-wrap:wrap;gap:18px;padding-top:24px}.footer .brand{width:100px}.footer>div{flex:1;min-width:160px}.copyright{width:100%;margin-left:0;font-size:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*{transition:none!important}}


/* Section hierarchy and compact process layout. */


.method{padding-top:24px;padding-bottom:72px}

.method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.2vw,48px)}
.method-row{display:block;padding:0}
.method-row h3{font-size:30px;line-height:1.2;letter-spacing:-.035em;margin-bottom:12px}
.method-row p{font-size:17px;line-height:1.55;max-width:none}
@media(max-width:700px){
 
 .method{padding-top:12px;padding-bottom:52px}
 
 .method-steps{grid-template-columns:1fr;gap:26px}
 .method-row h3{font-size:27px;margin-bottom:8px}
 .method-row p{font-size:16px;max-width:38ch}
}

.project-button{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:54px;padding:17px 28px;background:var(--dark);color:var(--paper);border-radius:26px 0 26px 0;font-size:16px;font-weight:500;line-height:1.4;text-align:center;transition:background-color .18s ease}
.project-button:hover{background:#3c413a}
.project-button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(prefers-reduced-motion:reduce){.project-button{transition:none}}

.footer .company-details{gap:3px;font-size:13px;line-height:1.6;color:var(--muted)}
.company-name{font-weight:550;color:var(--ink)}
@media(max-width:700px){.footer .company-details{flex-basis:100%;min-width:0}.hero-bottom{align-items:flex-start}}

.contact-form{margin-top:40px;padding:48px 52px;background:var(--dark);color:var(--paper);border-radius:64px 0 64px 0;scroll-margin-top:32px}
.form-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}
.form-field{display:flex;flex-direction:column;gap:10px;min-width:0}
.form-wide{grid-column:1/-1}
.form-field label{font-size:16px;line-height:1.4}
.form-field label span{font-size:14px;color:#c0c6ba;margin-left:5px}
.form-field input,.form-field textarea{width:100%;border:1px solid #747d6d;border-radius:16px 0 16px 0;background:#32382f;color:var(--paper);padding:15px 18px;font:inherit;font-size:17px;line-height:1.5;min-height:54px;box-shadow:none}
.form-field textarea{resize:vertical;min-height:156px;max-height:600px}
.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--paper);outline-offset:3px}
.form-field input:user-invalid,.form-field textarea:user-invalid{border-color:#f0b9ab}
.form-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px}
.form-submit{border:0;background:var(--paper);color:var(--ink);font-family:inherit;cursor:pointer}
.form-submit:hover{background:#dce0d4}
.form-submit:focus-visible{outline-color:var(--paper)}
.form-submit:disabled{opacity:.65;cursor:wait}
.direct-email{font-size:16px;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
.form-status{margin:18px 0 0;color:#d0d3ca;font-size:14px;line-height:1.5}
.form-status:empty{display:none}
@media(max-width:700px){.contact-form{margin-top:28px;padding:32px 24px;border-radius:40px 0 40px 0}.form-fields{grid-template-columns:1fr;gap:22px}.form-field input,.form-field textarea{font-size:16px;padding:13px 15px}.form-actions{align-items:flex-start;flex-direction:column;gap:22px}.form-submit{min-height:52px}.direct-email{font-size:15px}}
.form-trap{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}

/* Language navigation. */
.header nav{align-items:center}
.language-switch{display:inline-flex;align-items:center;gap:10px;font-size:14px;white-space:nowrap}
.language-switch a{color:var(--muted)}
.language-switch a[aria-current="page"]{color:var(--ink);font-weight:650}
.language-switch>span{color:var(--muted)}
html[lang="it"] .hero h1{font-size:clamp(64px,6vw,96px)}
@media(min-width:1700px){html[lang="it"] .hero h1{font-size:103px}}
@media(max-width:1000px){html[lang="it"] .hero h1{font-size:62px}}
@media(max-width:700px){.header nav>a:first-child{display:none}.header .language-switch a{display:inline-block}.header nav{gap:16px}.language-switch{gap:7px}html[lang="it"] .hero h1{font-size:clamp(36px,8.7vw,61px)}html[lang="it"] .contact h2{font-size:clamp(35px,9.5vw,46px)}}
@media(max-width:380px){.header .brand{width:105px}.header nav{gap:12px}}
