
  @font-face{font-family:'Piazzolla';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/piazzolla-roman.woff2) format('woff2')}
  @font-face{font-family:'Piazzolla';font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/piazzolla-italic.woff2) format('woff2')}
  @font-face{font-family:'Work Sans';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/work-sans-roman.woff2) format('woff2')}
  :root{
    --intonaco:#EFEAE1;
    --intonaco-2:#E4DDCF;
    --inchiostro:#211D19;
    --ferro:#26332F;
    --maiolica:#2F5D62;
    --maiolica-2:#DCE8E6;
    --linea: rgba(33,29,25,0.14);
  }
  *{box-sizing:border-box}
  a:focus-visible,button:focus-visible{outline:2px solid var(--maiolica);outline-offset:3px;border-radius:2px}
  .menu-btn{display:none;background:none;border:1px solid var(--inchiostro);border-radius:6px;width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;flex-shrink:0}
  .menu-btn span{display:block;width:20px;height:2px;background:var(--inchiostro);transition:transform .2s,opacity .2s}
  header.open .menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  header.open .menu-btn span:nth-child(2){opacity:0}
  header.open .menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .tel-short{display:none}
  .foot-logo{height:84px;width:auto;display:block}
  .credit{padding-top:0;padding-bottom:22px;text-align:center}
  .credit p{font-size:12px;color:#6B6458}
  .credit a{color:var(--maiolica);font-weight:600;border-bottom:1px solid var(--maiolica);padding-bottom:1px;transition:color .15s,border-color .15s}
  .credit a:hover{color:var(--inchiostro);border-bottom-color:var(--inchiostro)}
  .legal{padding:48px 0 72px}
  .legal .wrap{max-width:820px}
  .legal h2{font-size:22px;font-style:italic;margin:36px 0 10px}
  .legal h2:first-child{margin-top:0}
  .legal p,.legal li{font-size:15px;line-height:1.7;color:#3B352E;max-width:70ch}
  .legal p+p{margin-top:10px}
  .legal ul{margin:8px 0 0;display:flex;flex-direction:column;gap:6px}
  .legal li{padding-left:16px;position:relative}
  .legal li::before{content:"–";position:absolute;left:0;color:var(--maiolica)}
  .legal a{color:var(--maiolica);border-bottom:1px solid var(--maiolica)}
  .legal .updated{font-size:13px;color:#8A8275;margin-top:36px}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--intonaco);color:var(--inchiostro);font-family:'Work Sans',sans-serif;-webkit-font-smoothing:antialiased}
  h1,h2,h3{font-family:'Piazzolla',serif;font-weight:500;margin:0}
  p{margin:0}
  ul{margin:0;padding:0;list-style:none}
  a{color:inherit;text-decoration:none}
  img,svg{max-width:100%}
  .wrap{max-width:1180px;margin:0 auto;padding-left:40px;padding-right:40px}
  .page{display:none}
  .page.active{display:block}

  header{position:sticky;top:0;z-index:20;background:var(--intonaco);border-bottom:1px solid var(--linea)}
  .header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:18px;padding-bottom:18px}
  .brand{display:flex;flex-direction:column;line-height:1.1}
  .brand{flex-direction:row;align-items:center;gap:10px}
  .brand img{height:52px;width:auto;display:block}
  .brand-text{display:flex;flex-direction:column;line-height:1.1}
  .brand-name{font-family:'Piazzolla',serif;font-size:22px;font-style:italic}
  .brand-sub{font-size:11px;letter-spacing:0.02em;color:#5B5449;margin-top:2px}
  nav{display:flex;align-items:center;gap:26px;font-size:15px}
  nav a{padding-bottom:3px;border-bottom:1px solid transparent;cursor:pointer}
  nav a:hover{color:var(--maiolica)}
  nav a.active-nav{border-bottom-color:var(--maiolica);color:var(--maiolica)}
  .tel-pill{border:1px solid var(--inchiostro);border-radius:999px;padding:9px 18px;font-size:14px;white-space:nowrap;transition:border-color .15s,color .15s}
  .tel-pill:hover{border-color:var(--maiolica);color:var(--maiolica)}

  .hero{padding:88px 0 72px}
  .hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:56px;align-items:center}
  .h1-hero{font-size:52px;line-height:1.12;font-style:italic;max-width:15ch}
  .hero-lede{font-size:17px;line-height:1.6;color:#3B352E;max-width:48ch;margin-top:28px}
  .hero-ctas{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:28px}
  .cta-primary{background:var(--ferro);color:var(--intonaco);padding:14px 28px;border-radius:4px;font-size:15px;font-weight:500;display:inline-block;transition:background .15s;cursor:pointer}
  .cta-primary:hover{background:var(--maiolica)}
  .hero-call{font-size:15px;border-bottom:1px solid var(--inchiostro);padding-bottom:2px;cursor:pointer}
  .hero-badge{display:flex;align-items:center;gap:10px;padding-top:22px;flex-wrap:wrap}
  .dot{width:8px;height:8px;border-radius:50%;background:var(--maiolica)}
  .hero-badge span{font-size:13px;color:#5B5449}
  .hero-art{height:420px;display:flex;align-items:center;justify-content:center}
  .hero-art img{max-width:380px;width:100%;height:auto}

  .page-banner{padding-top:64px;padding-bottom:48px;border-bottom:1px solid var(--linea)}
  .page-banner h1{font-size:40px;font-style:italic}
  .page-banner p{font-size:16px;color:#5B5449;line-height:1.6;max-width:56ch;margin-top:14px}
  .breadcrumb{font-size:13px;color:#8A8275;margin-bottom:16px}
  .breadcrumb a{cursor:pointer}
  .breadcrumb a:hover{color:var(--maiolica)}

  .chisono{width:100%;background:var(--ferro);color:var(--intonaco)}
  .chisono .wrap{padding:80px 40px;display:grid;grid-template-columns:0.6fr 1fr;gap:64px;align-items:start}
  .chisono-label{font-size:14px;letter-spacing:0.04em;font-weight:600;color:#B9C7C3;font-family:'Work Sans',sans-serif}
  .chisono-body{display:flex;flex-direction:column;gap:24px;max-width:62ch}
  .chisono-lede{font-size:22px;line-height:1.55;font-family:'Piazzolla',serif;font-style:italic;font-weight:400}
  .chisono-text{font-size:16px;line-height:1.7;color:#D8D3C7}
  .chisono-facts{display:flex;gap:32px;flex-wrap:wrap;padding-top:12px;border-top:1px solid rgba(239,234,225,0.18)}
  .chisono-facts .label{font-size:13px;color:#9FAEA9}
  .chisono-facts .value{font-size:15px;padding-top:4px}

  .garanzie{width:100%;background:var(--maiolica-2)}
  .garanzie .wrap{padding:72px 40px}
  .garanzie h2{font-size:30px;font-style:italic;color:var(--ferro);margin-bottom:40px}
  .garanzie-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
  .garanzia-item{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid rgba(47,93,98,0.2)}
  .garanzia-item .check{color:var(--maiolica);font-size:16px;flex-shrink:0}
  .garanzia-item span.txt{font-size:15px;line-height:1.55;color:#243B39}

  .servizi{padding:88px 0}
  .servizi-head{display:flex;flex-direction:column;gap:8px;max-width:60ch;margin-bottom:48px}
  .servizi-head h2{font-size:34px;font-style:italic}
  .servizi-head p{font-size:16px;color:#5B5449;line-height:1.6;padding-top:8px}
  .svc-list{border-top:1px solid var(--linea)}
  .svc-row{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:26px 12px;border-bottom:1px solid var(--linea);align-items:flex-start;transition:background .15s}
  .svc-row:hover{background:var(--intonaco-2)}
  .svc-letter{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--maiolica);display:flex;align-items:center;justify-content:center;font-family:'Piazzolla',serif;font-size:14px;color:var(--maiolica);margin-top:4px}
  .svc-body h3{font-size:19px;font-weight:600;font-family:'Work Sans',sans-serif}
  .svc-body ul{display:flex;flex-direction:column;gap:6px;margin-top:10px}
  .svc-body li{font-size:15px;line-height:1.55;color:#5B5449;max-width:66ch;padding-left:14px;position:relative}
  .svc-body li::before{content:"–";position:absolute;left:0;color:var(--maiolica)}
  .extra-box{margin-top:56px;padding:32px;background:var(--maiolica-2);border-radius:4px;display:flex;flex-direction:column;gap:18px}
  .extra-box h3{font-size:19px;font-weight:600;color:var(--ferro)}
  .extra-item{display:flex;align-items:flex-start;gap:12px}
  .extra-item .check{color:var(--maiolica);font-size:16px;flex-shrink:0}
  .extra-item span.txt{font-size:15px;line-height:1.6;color:#243B39}

  .svc-preview-list{border-top:1px solid var(--linea);margin-top:8px}
  .svc-preview-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;border-bottom:1px solid var(--linea);transition:background .15s;cursor:pointer}
  .svc-preview-row:hover{background:var(--intonaco-2)}
  .svc-preview-row .left{display:flex;align-items:center;gap:16px}
  .svc-preview-letter{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--maiolica);display:flex;align-items:center;justify-content:center;font-family:'Piazzolla',serif;font-size:13px;color:var(--maiolica);flex-shrink:0}
  .svc-preview-row h3{font-size:16px;font-weight:600}
  .svc-preview-row .arrow{color:var(--maiolica);font-size:15px}

  .valori{width:100%;background:var(--ferro)}
  .valori .wrap{padding:64px 40px}
  .values-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
  .value-item{padding:0 24px;border-left:1px solid rgba(239,234,225,0.2);display:flex;flex-direction:column;gap:10px}
  .value-item h3{font-size:16px;font-weight:600;color:var(--intonaco)}
  .value-item p{font-size:14px;line-height:1.6;color:#B9C7C3}

  .section-link{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:20px}
  .more-link{font-size:14px;color:var(--maiolica);border-bottom:1px solid var(--maiolica);padding-bottom:2px;white-space:nowrap;cursor:pointer}
  .home-section{padding-top:64px;padding-bottom:64px;border-top:1px solid var(--linea)}
  .home-section .servizi-head{margin-bottom:24px}

  .faq{padding:88px 0}
  .faq .wrap{max-width:820px}
  .faq h2{font-size:34px;font-style:italic;margin-bottom:40px}
  .faq-list{border-top:1px solid var(--linea)}
  .faq-item{border-bottom:1px solid var(--linea)}
  .faq-q{width:100%;text-align:left;background:none;border:none;padding:22px 4px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;font-family:'Work Sans',sans-serif}
  .faq-q-text{font-size:17px;font-weight:500}
  .faq-q:hover .faq-q-text{color:var(--maiolica)}
  .faq-sign{font-size:20px;color:var(--maiolica);flex-shrink:0}
  .faq-a{font-size:15px;line-height:1.7;color:#5B5449;padding:0 4px 24px;max-width:64ch;display:none}
  .faq-a p+p{margin-top:10px}
  .faq-a ol+p,.faq-a ul+p{margin-top:14px}
  .faq-a p.sub{font-weight:600;color:var(--inchiostro);margin:14px 0 6px}
  .faq-a h4{font-family:'Work Sans',sans-serif;font-size:15px;font-weight:600;color:var(--inchiostro);margin:20px 0 8px}
  .faq-a ul,.faq-a ol{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
  .faq-a li{position:relative;padding-left:18px}
  .faq-a ul li::before{content:"–";position:absolute;left:0;color:var(--maiolica)}
  .faq-a ol{counter-reset:step}
  .faq-a ol li{counter-increment:step;padding-left:26px}
  .faq-a ol li::before{content:counter(step) ".";position:absolute;left:0;color:var(--maiolica);font-weight:600}
  .faq-a strong{font-weight:600;color:var(--inchiostro)}
  .faq-item.open .faq-a{display:block}

  .contatti{width:100%;background:var(--ferro);color:var(--intonaco)}
  .contatti .wrap{padding:88px 40px}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px}
  .contatti h2{font-size:34px;font-style:italic;color:var(--intonaco)}
  .contatti-lede{font-size:16px;line-height:1.65;color:#D8D3C7;max-width:44ch;margin-top:20px}
  .contact-ctas{display:flex;gap:14px;flex-wrap:wrap;padding-top:28px}
  .contact-btn{border:1px solid rgba(239,234,225,0.4);border-radius:4px;padding:12px 22px;font-size:14px;transition:border-color .15s,color .15s}
  .contact-btn:hover{border-color:var(--maiolica-2);color:var(--maiolica-2)}
  .contact-facts .fact{border-top:1px solid rgba(239,234,225,0.18);padding-top:18px;margin-top:18px}
  .contact-facts .fact:first-child{margin-top:0}
  .contact-facts .label{font-size:13px;color:#9FAEA9}
  .contact-facts .value{font-size:16px;padding-top:4px;display:block}

  footer{width:100%;background:var(--intonaco)}
  .footer-inner{padding-top:32px;padding-bottom:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border-top:1px solid var(--linea);font-size:13px;color:#5B5449}
  .footer-nav{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
  .footer-nav a{cursor:pointer}
  .footer-nav a:hover{color:var(--maiolica)}

  @media (max-width: 860px){
    .wrap{padding-left:24px;padding-right:24px}
    .header-inner{gap:12px;padding-top:10px;padding-bottom:10px}
    .menu-btn{display:flex}
    .brand img{height:42px}
    .brand-sub{display:none}
    .brand-name{font-size:19px}
    .tel-pill{margin-left:auto;padding:9px 14px;font-size:13px}
    header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--intonaco);border-bottom:1px solid var(--linea);flex-direction:column;align-items:stretch;gap:0;padding:6px 24px 14px;box-shadow:0 10px 18px rgba(0,0,0,.08)}
    header.open nav{display:flex}
    header nav a{padding:15px 0;border-bottom:1px solid var(--linea);font-size:17px}
    header nav a.active-nav{border-bottom-color:var(--linea)}
    .hero{padding:40px 0 48px}
    .hero-grid{grid-template-columns:1fr}
    .hero-art{order:-1;height:auto;margin-bottom:8px}
    .hero-art img{max-width:300px}
    .h1-hero{font-size:36px}
    .page-banner{padding-top:40px;padding-bottom:32px}
    .page-banner h1{font-size:32px}
    .chisono .wrap{grid-template-columns:1fr;gap:28px;padding-top:56px;padding-bottom:56px}
    .garanzie-grid{grid-template-columns:1fr !important}
    .values-row{grid-template-columns:1fr 1fr;gap:24px}
    .value-item{border-left:none;padding:0}
    .contact-grid{grid-template-columns:1fr}
    .servizi{padding:48px 0}
    .svc-row{grid-template-columns:42px 1fr;gap:12px;padding:22px 4px}
    .extra-box{padding:22px}
    .faq{padding:48px 0}
    .home-section{padding-top:48px;padding-bottom:48px}
    .chisono .wrap,.garanzie .wrap,.valori .wrap,.contatti .wrap{padding-left:24px !important;padding-right:24px !important}
    .footer-inner{padding-bottom:16px}
    .credit{padding-bottom:84px}
    .foot-logo{height:68px}
  }
  @media (max-width: 560px){
    .tel-num{display:none}
    .tel-short{display:inline}
  }
  @media (max-width: 360px){
    .brand-name{font-size:17px}
    .brand img{height:36px}
  }
