*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{background:#f5f7f9;color:#172e43;font:16px/1.65 Arial,sans-serif;margin:0}a{color:inherit}header{align-items:center;display:flex;justify-content:space-between;margin:auto;max-width:1320px;padding:26px 5%}.brand{font-size:21px;font-weight:700;letter-spacing:-1px;text-decoration:none}.brand small{display:block;font-size:10px;font-weight:400;letter-spacing:2px}nav{align-items:center;display:flex;gap:26px}nav a{font-size:13px}.button,nav a{text-decoration:none}.button{background:#c5e2ef;border:0;border-radius:4px;color:#142b42;display:inline-block;font-size:14px;font-weight:700;padding:13px 23px}.dark{background:#142b42;color:#fff}.wrap{margin:auto;max-width:1200px;padding:85px 4%}.hero{align-items:center;display:grid;grid-template-columns:1.15fr 1fr;padding-bottom:70px;padding-top:70px}.eyebrow{display:block;font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:24px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font:500 clamp(42px,5.3vw,73px)/1.08 Georgia,serif;letter-spacing:-2.5px;margin-bottom:26px}h1 em,h2 em{color:#346c88}h2{font:400 clamp(32px,4vw,48px)/1.15 Georgia,serif;letter-spacing:-1px}h3{font-size:21px;font-weight:500;line-height:1.3}p{color:#526474}.lead{font-size:17px;max-width:490px}.actions{align-items:center;display:flex;gap:24px;margin:32px 0}.textlink{font-size:14px;text-underline-offset:6px}.micro{color:#586a79;font-size:11px}.hero-art{background:#e9eef3;border-radius:160px 160px 8px 8px;min-height:470px;overflow:hidden;position:relative}.hero-art svg{height:470px;width:100%}.tag{align-items:center;background:#fffefaeb;border:1px solid #fff;bottom:25px;display:flex;font-size:12px;justify-content:space-between;left:25px;padding:15px 20px;position:absolute;right:25px}.tag strong{display:block;font-size:16px}.section-head{align-items:end;display:flex;gap:35px;justify-content:space-between;margin-bottom:45px}.section-head p{font-size:14px;max-width:350px}.grid{display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.card{background:#fff;border:1px solid #d7dfe6;display:flex;flex-direction:column;min-height:300px;padding:31px;text-decoration:none;transition:transform .2s,background .2s}.card:hover{background:#eef4f8;transform:translateY(-5px)}.num{color:#587b92;font-size:11px;letter-spacing:2px;margin-bottom:42px}.card p{font-size:14px}.about{background:#eaf0f5}.split{display:grid;gap:100px;grid-template-columns:1fr 1fr}.steps{border-top:1px solid #bbcbd7}.step{border-bottom:1px solid #bbcbd7;display:grid;gap:20px;grid-template-columns:40px 1fr;padding:25px 0}.step h3{font-size:19px;margin-bottom:8px}.step p{font-size:14px;margin:0}.step span{color:#346c88;font-size:12px}.local{align-items:center;border:1px solid #d7dfe6;display:flex;gap:30px;justify-content:space-between;margin-top:45px;padding:35px}.local p{margin:0;max-width:600px}.faq{max-width:820px}details{border-bottom:1px solid #d7dfe6;padding:23px 0}summary{cursor:pointer;font-size:18px}details p{font-size:15px;margin:18px 0 0}.contact{background:#142b42;color:#f7fafc}.contact p{color:#c5d2de}.contact h2{font-size:55px}.contact-panel{border:1px solid #456176;padding:32px}.contact-panel p:last-child{margin:0}footer{color:#586a79;display:flex;gap:20px;justify-content:space-between;padding:28px 5%}.demo,footer{font-size:11px}.demo{background:#eaf0f5;color:#536a7d;padding:8px 5%;text-align:center}.article{max-width:800px}.article h1{font-size:52px}.article h2{font-size:30px;margin-top:45px}.article li{color:#526474;margin:12px 0}.skip{left:-9999px;position:absolute}.skip:focus{background:#fff;left:10px;padding:10px;top:10px;z-index:10}:focus-visible{outline-offset:5px}@media(max-width:760px){header{padding:20px 6%}nav{gap:14px}nav a:not(:last-child){display:none}.hero,.split{gap:35px;grid-template-columns:1fr}.wrap{padding:55px 6%}.hero-art{min-height:370px}.hero-art svg{height:370px}.hero{padding-top:45px}h1{font-size:49px}.grid{grid-template-columns:1fr}.card{min-height:240px}.num{margin-bottom:25px}.local,.section-head{display:block}.contact h2{font-size:42px}footer{flex-direction:column}.article h1{font-size:40px}.actions{gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
.photo-hero{background:#d6e0e8;border-radius:180px 180px 5px 5px;min-height:550px}.photo-hero>img{display:block;height:550px;object-fit:cover;object-position:60% center;width:100%}.photo-hero:after{background:linear-gradient(transparent 55%,#172e4344);content:"";inset:0;pointer-events:none;position:absolute}.photo-hero .tag{z-index:1}.tag>div>span{font-size:9px;letter-spacing:1px}.visual-story{background:#e9eef3;display:grid;grid-template-columns:1.1fr 1fr}.story-image{min-height:520px;overflow:hidden;position:relative}.story-image img{height:100%;object-fit:cover;object-position:25% center;position:absolute;width:100%}.story-image>span{background:#142b4280;bottom:16px;color:#fff;font-size:10px;left:20px;padding:7px 10px;position:absolute;right:20px;text-shadow:0 1px 5px #000}.story-copy{align-self:center;padding:70px 12%}.story-copy p{max-width:420px}.contact-email{display:block;font-size:clamp(16px,2vw,25px);margin-bottom:24px;overflow-wrap:anywhere;text-underline-offset:7px}.contact-panel .button{margin-top:20px}.card{border-radius:8px}.card:nth-child(2){background:#edf2f7}.card:nth-child(3){background:#e5edf4}.hero{gap:40px}header{border-bottom:0}.demo{background:#142b42;color:#dce8f1}.contact-panel{background:#ffffff05;border-radius:8px}@media(max-width:760px){.visual-story{grid-template-columns:1fr}.story-image{min-height:340px}.story-copy{padding:45px 6%}.photo-hero{border-radius:140px 140px 5px 5px;min-height:420px}.photo-hero>img{height:420px}.hero h1{font-size:52px}}body,h1,h2,h3{font-family:Arial,Helvetica,sans-serif}h1,h2,h3{font-weight:600}h1{font-size:clamp(39px,4.35vw,61px);letter-spacing:-2.3px;line-height:1.1}h1 em,h2 em{color:#486d87;font-style:normal;font-weight:400}h2{font-size:clamp(30px,3.4vw,44px);letter-spacing:-1.6px}h3{font-size:20px;letter-spacing:-.4px}.brand{letter-spacing:-.7px}.drawing-label,.eyebrow,.micro,.num{font-family:Courier New,monospace}.hero{background-image:linear-gradient(#142b4207 1px,transparent 0),linear-gradient(90deg,#142b4207 1px,transparent 0);background-size:40px 40px;max-width:1280px;padding:65px 5%}.hero-art,.photo-hero{border:1px solid #cbd6df;border-radius:2px;min-height:510px}.photo-hero>img{filter:saturate(.72);height:510px;object-position:34% center}.drawing-label{background:#ffffffed;color:#142b42;font-size:9px;left:15px;letter-spacing:.5px;padding:8px 10px;position:absolute;top:15px;z-index:2}.tag{background:#fffffff0;border-radius:0;bottom:15px;left:15px;right:15px}.tag strong{font-size:17px}.button{letter-spacing:.2px}.button,.card,.contact-panel{border-radius:2px}.card{border-top:3px solid #346c88;min-height:290px}.card:hover{transform:translateY(-3px)}.num{color:#526e83}.contact h2{font-size:44px;line-height:1.12}.contact-email{font-family:Courier New,monospace;font-size:clamp(16px,1.7vw,23px);letter-spacing:-.8px}.email-status{border:1px solid #668399;color:#d8e6ef!important;display:inline-block;font:12px Courier New,monospace;padding:6px 12px}.demo{background:#e6edf3;border-bottom:1px solid #d7dfe6;color:#344f66;font-size:10px}.visual-story{background:#e9eff4}.story-image img{filter:saturate(.65)}.about{background:#edf2f6}.local{border-left:3px solid #346c88}.contact-panel hr{border-color:#456176!important}header{border-bottom:1px solid #d7dfe6}.contact .eyebrow{color:#a9c7db}.photo-hero:after{background:linear-gradient(transparent 55%,#142b4233)}.story-image>span{background:#142b4299}@media(max-width:760px){.hero h1{font-size:41px;letter-spacing:-1.6px}.hero-art,.photo-hero{border-radius:2px;min-height:390px}.photo-hero>img{height:390px}.hero{padding-bottom:40px;padding-top:40px}.contact h2{font-size:36px}.drawing-label{font-size:8px}}
:root{--ink:#142a39;--gold:#b89455;--paper:#faf9f6}
body{background:var(--paper);color:var(--ink)}
header{background:#fff;max-width:none;padding-bottom:20px;padding-top:20px}
.brand{font-size:22px;letter-spacing:.3px;text-transform:uppercase}
.brand small{font-size:9px;letter-spacing:3px;margin-top:3px}
.textlink:hover,nav a:hover{color:#a57d40}
.button.dark{background:var(--ink);color:#fff}
.button:hover{filter:brightness(1.12)}
.hero{background-image:none;gap:55px;grid-template-columns:1fr 1.05fr;max-width:1400px;min-height:620px}
.hero h1{font-size:clamp(42px,5.2vw,74px);font-weight:500;letter-spacing:-2.7px;line-height:1.08}
#territorio h2 em,.hero h1 em,.section-head h2 em{color:#85612f}
.hero .eyebrow{color:#80602f}
.hero .lead{color:#435663;font-size:18px;line-height:1.7}
.photo-hero{border:0;box-shadow:0 24px 60px #142a3920;min-height:540px}
.photo-hero>img{filter:saturate(.9);height:540px;object-position:center}
.drawing-label{background:#fff;color:#87683c}
.tag{background:#ffffffed;border:0}
.card{border:1px solid #e5e2dc;border-top:3px solid var(--gold);box-shadow:0 10px 28px #142a3909}
.card:nth-child(2),.card:nth-child(3){background:#fff}
.card:hover{box-shadow:0 20px 40px #142a3919}
.about{background:#f0eee9}
.visual-story{background:#eeece6}
.story-image img{filter:saturate(.85)}
.local{background:#fff;border:1px solid #e4dfd5;border-left:4px solid var(--gold);box-shadow:0 12px 36px #142a3909}
.territory-mark{color:#80602f;font-size:12px;font-weight:700;letter-spacing:2px;line-height:2;text-align:center;white-space:nowrap}
.contact{background:var(--ink)}
.contact h2 span{color:#d4ae70!important}
.demo{background:#f3eee4;border:0;color:#6d5836}
@media(max-width:760px){header{padding:18px 5%}.brand{font-size:17px}nav .button{font-size:11px;padding:10px}.hero{gap:25px;grid-template-columns:1fr;min-height:auto}.hero h1{font-size:clamp(39px,10vw,55px);letter-spacing:-1.8px}.photo-hero{min-height:330px}.photo-hero>img{height:330px}.tag{padding:12px}.territory-mark{display:block;margin-top:25px}.local{padding:24px}
 header{align-items:center;gap:12px}
 .brand{font-size:16px;line-height:1.2;white-space:nowrap}
 .brand small{font-size:8px;letter-spacing:2px}
 nav{margin-left:auto}
 nav .button{font-size:0;max-width:110px;padding:11px 12px}
 nav .button:after{content:"Contatti";font-size:12px}
 .hero{display:flex;flex-direction:column;gap:18px;padding-bottom:36px;padding-top:30px}
 .hero>div:first-child{display:contents}
 .hero .eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:0;order:0}
 .hero h1{font-size:clamp(34px,9vw,43px);letter-spacing:-1.4px;line-height:1.12;margin:0;order:1}
 .hero .lead{font-size:15px;line-height:1.55;margin:0;order:3}
 .hero .actions{flex-wrap:wrap;gap:15px;margin:8px 0 0;order:4}
 .hero .actions .button{font-size:12px;padding:12px 16px}
 .hero .actions .textlink{font-size:12px}
 .hero .micro{display:none}
 .hero .hero-art{box-shadow:0 12px 28px #142a3920;min-height:250px;order:2;width:100%}
 .hero .photo-hero>img{height:250px}
 .hero .drawing-label{font-size:8px}
 .hero .tag{bottom:9px;left:9px;padding:9px;right:9px}
 .hero .tag strong{font-size:12px}
 .hero .tag>div>span{font-size:8px}
 .wrap{padding-left:5%;padding-right:5%}}
.photo-credit{color:#586a79;font-size:10px;margin:auto;max-width:1200px;padding:0 5% 22px}
.photo-credit a{color:inherit}

.contact-top{align-items:center;background:#142a39;color:#fff;display:flex;font-size:13px;gap:17px;justify-content:center;letter-spacing:.1px;padding:10px 5%}
.contact-top>a{color:#fff;font-weight:700;text-underline-offset:3px}
.contact-top>span:first-child{color:#d4ae70;font-size:11px;letter-spacing:1px;text-transform:uppercase}
.contact-top .demo-phone{color:#f5f1e9;font-weight:600}
.contact-top small{color:#e0c9a8;font-size:10px;font-weight:400}
@media(max-width:760px){.contact-top{flex-wrap:wrap;font-size:12px;gap:3px 10px;padding:10px 4%}.contact-top .contact-separator,.contact-top>span:first-child{display:none}.contact-top>a{font-size:13px}.contact-top .demo-phone{font-size:12px}}
.service-grid{align-items:stretch;gap:18px}
.service-card{gap:0;min-height:0;padding:27px 27px 24px}
.service-card .num{color:#80602f;margin:0 0 16px}
.service-card h3{font-size:23px;line-height:1.2;margin-bottom:16px}
.service-tags{border-top:1px solid #eee8dd;color:#806b4f;display:block;font-size:11px;line-height:1.6;padding:12px 0}
.service-cta{align-items:center;color:#142a39;display:flex;font-size:13px;font-weight:700;justify-content:space-between;margin-top:auto;padding-top:18px}
.service-cta span{color:#85612f;font-size:21px}
@media(max-width:760px){.service-grid{gap:14px}.service-card{min-height:0;padding:22px 22px 18px}.service-card .num{margin-bottom:12px}.service-card h3{font-size:22px;margin-bottom:10px}.service-tags{font-size:10px;padding:10px 0}.service-cta{padding-top:11px}}

.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{min-height:285px}.service-card h3{margin-top:10px}.service-card .service-tags{margin-top:auto}.service-card .service-cta{margin-top:0}@media(max-width:760px){.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-card h3{font-size:21px}}
.needs{padding-bottom:55px;padding-top:68px}
.needs .section-head{margin-bottom:27px}
.needs-grid{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.need-link{align-items:center;background:#fff;border:1px solid #e4dfd5;display:flex;gap:18px;min-height:88px;padding:21px 23px;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.need-link:focus-visible,.need-link:hover{border-color:#b89455;box-shadow:0 10px 25px #142a3912}
.need-index{color:#85612f;font:12px Courier New,monospace}
.need-link strong{flex:1;font-size:16px;font-weight:600;line-height:1.35}
.need-arrow{color:#85612f;font-size:22px}
.needs-foot{align-items:center;display:flex;font-size:13px;gap:15px;justify-content:space-between;margin-top:18px;padding:16px 2px}
.needs-foot a{font-weight:700;text-underline-offset:4px}
@media(max-width:760px){.needs{padding-bottom:20px;padding-top:43px}.needs .section-head{margin-bottom:19px}.needs-grid{gap:9px;grid-template-columns:1fr}.need-link{gap:13px;min-height:68px;padding:15px 17px}.need-link strong{font-size:14px}.need-arrow{font-size:20px}.needs-foot{display:block;padding:14px 0}.needs-foot span{display:block;margin-bottom:7px}}
.wa-ready{align-items:center;background:#e9f7ed;border:1px solid #b7dec2;border-radius:9px;color:#14542c;display:flex;gap:13px;margin:15px 0;padding:14px 16px}
.wa-ready small,.wa-ready strong{display:block}.wa-ready strong{font-size:16px}.wa-ready small{color:#366e49;font-size:12px;line-height:1.45}
.wa-dot{color:#1b9e50;font-size:22px}.wa-top{color:#d6f6df!important;font-weight:700}.wa-top small{font-size:10px;font-weight:400}
.wa-floating{align-items:center;background:#168744;border-radius:40px;bottom:20px;box-shadow:0 6px 24px #142a3940;color:#fff;display:flex;font-size:14px;font-weight:700;gap:7px;padding:12px 17px;position:fixed;right:18px;text-decoration:none;z-index:50}
.wa-floating small{font-size:10px;font-weight:400;opacity:.9}.wa-floating span{font-size:22px;line-height:1}
@media(max-width:760px){.wa-floating{bottom:12px;font-size:13px;padding:11px 14px;right:12px}.wa-top{font-size:12px!important}}
.brand-dot{color:#257499}.tag-arrow{font-size:28px}.contact-highlight{color:#87c4dd}.contact-divider{border:0;border-top:1px solid #527064;margin:26px 0}.back-link{margin-top:28px}.back-link-legacy{margin-top:30px}
.nav-cta-short{display:none}.hero>div,.split>div{min-width:0}.article h1{overflow-wrap:anywhere}
.wa-floating{background:#126d38}.wa-floating small{opacity:1}.wa-floating{bottom:calc(20px + env(safe-area-inset-bottom,0px))}
body:has(.wa-floating){padding-bottom:80px}summary{display:list-item;min-height:44px}.photo-credit a,footer a{display:inline-block;padding:4px 0}.contact-top a{padding:4px 0}
:focus-visible{outline:3px solid #387fa3;outline-offset:4px}.contact :focus-visible,.contact-top :focus-visible{outline-color:#c5e2ef}
@media(max-width:760px){nav .button{align-items:center;display:inline-flex;font-size:12px;min-height:44px}nav .button:after{content:none}.nav-cta-long{display:none}.nav-cta-short{display:inline}.brand small{letter-spacing:1.1px}.brand small,.hero .eyebrow{font-size:10px}.photo-credit{font-size:12px}.drawing-label,.hero .drawing-label{font-size:10px}.wa-floating{bottom:calc(12px + env(safe-area-inset-bottom,0px))}.brand{white-space:normal}.brand small{white-space:nowrap}.article .button,.contact-top{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* The mobile contact placeholder must not obscure text or actions. */
@media(max-width:760px){.wa-floating{position:static;width:max-content;max-width:calc(100% - 24px);margin:0 12px calc(24px + env(safe-area-inset-bottom,0px)) auto}body:has(.wa-floating){padding-bottom:0}}

/* Essential homepage */
.about-compact{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-top:65px;padding-bottom:65px}
.about-compact h2{margin-bottom:0}.about-compact p{max-width:510px}.about-location{font-size:12px;font-weight:700;letter-spacing:.5px;color:#587b92}
.service-grid .service-card{min-height:210px}.service-grid .service-card h3{margin-bottom:12px}.service-grid .service-cta{margin-top:auto}
@media(max-width:760px){.about-compact{grid-template-columns:1fr;gap:15px;padding-top:40px;padding-bottom:40px}.about-compact h2{font-size:31px}.service-grid .service-card{min-height:0}}
