:root{
  --coral:#F27A3F;
  --coral-deep:#D9622A;
  --gray:#5A5A58;
  --ink:#1E1E1C;
  --bg:#FFFFFF;
  --card:#F7F6F3;
  --line: rgba(30,30,28,0.10);
}
*{box-sizing:border-box;}
body{margin:0;font-family:'Manrope',sans-serif;background:var(--bg);color:var(--ink);}
a{color:inherit;}
img{max-width:100%;display:block;}
.linf-wrap{max-width:1140px;margin:0 auto;padding:0 44px;}

/* Header */
.linf-header{display:flex;align-items:center;justify-content:space-between;padding:30px 0;}
.linf-logo img{height:52px;width:auto;}
.linf-nav{display:flex;gap:36px;list-style:none;margin:0;padding:0;font-size:16px;font-weight:600;}
.linf-nav a{text-decoration:none;}
.linf-nav a:hover{color:var(--coral-deep);}

/* Hero */
.linf-hero{text-align:center;padding:70px 0 44px;max-width:820px;margin:0 auto;}
.linf-eyebrow{font-size:14px;font-weight:800;color:var(--coral-deep);letter-spacing:0.03em;margin-bottom:20px;text-transform:uppercase;}
.linf-hero h1{font-size:46px;font-weight:800;line-height:1.2;letter-spacing:-0.01em;margin:0 0 22px;}
.linf-hero p{font-size:17px;color:var(--gray);max-width:560px;margin:0 auto 34px;line-height:1.6;}
.linf-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.linf-btn-primary{display:inline-block;background:var(--coral);color:#fff;padding:15px 30px;font-size:15px;font-weight:700;text-decoration:none;border-radius:10px;border:none;cursor:pointer;}
.linf-btn-primary:hover{background:var(--coral-deep);color:#fff;}
.linf-btn-secondary{display:inline-block;border:1.5px solid var(--line);color:var(--ink);padding:15px 30px;font-size:15px;font-weight:700;text-decoration:none;border-radius:10px;}
.linf-btn-secondary:hover{border-color:var(--coral);}

/* Griglia servizi (home) */
.linf-svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:60px 0 70px;}
.linf-svc{background:var(--card);border-radius:14px;padding:26px 22px;text-decoration:none;color:var(--ink);position:relative;display:block;}
.linf-svc-ic{width:40px;height:40px;border-radius:10px;background:rgba(242,122,63,0.14);display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.linf-svc-ic svg{display:block;}
.linf-svc h3{font-size:16px;font-weight:700;margin:0 0 6px;}
.linf-svc p{font-size:13px;color:var(--gray);line-height:1.5;margin:0;}
.linf-svc-new{background:#fff;border:1.5px solid var(--coral);}
.linf-badge-new{position:absolute;top:20px;right:20px;font-size:10px;font-weight:800;color:var(--coral-deep);background:rgba(242,122,63,0.14);padding:3px 9px;border-radius:999px;letter-spacing:0.03em;text-transform:uppercase;}

/* Intro azienda (home) */
.linf-intro{padding:20px 0 70px;}
.linf-intro-inner{background:var(--card);border-radius:20px;padding:52px 56px;max-width:820px;margin:0 auto;text-align:center;}
.linf-intro-inner h2{font-size:24px;font-weight:800;line-height:1.35;margin:0 0 16px;}
.linf-intro-inner p{font-size:15px;color:var(--gray);line-height:1.7;margin:0 0 24px;}

/* Bio titolare (Chi siamo) */
.linf-founder{display:flex;gap:28px;align-items:flex-start;margin-top:44px;padding-top:36px;border-top:1px solid var(--line);}
.linf-founder-avatar img{width:120px;height:120px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.linf-founder-text h3{font-size:18px;font-weight:800;margin:0 0 2px;}
.linf-founder-role{display:block;font-size:13px;color:var(--coral-deep);font-weight:700;margin-bottom:12px;}
.linf-founder-text p{font-size:14px;color:var(--gray);line-height:1.7;margin:0 0 12px;}

/* Come lavoriamo (home) */
.linf-process{padding:20px 0 70px;}
.linf-section-head{text-align:center;max-width:600px;margin:0 auto 40px;}
.linf-section-head h2{font-size:28px;font-weight:800;margin:0;}
.linf-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.linf-process-step{background:var(--card);border-radius:14px;padding:26px 22px;}
.linf-process-ic{width:44px;height:44px;border-radius:10px;background:rgba(242,122,63,0.14);display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.linf-process-num{font-size:12px;font-weight:800;color:var(--coral-deep);margin-bottom:6px;}
.linf-process-step h3{font-size:16px;font-weight:700;margin:0 0 8px;}
.linf-process-step p{font-size:13px;color:var(--gray);line-height:1.5;margin:0;}

/* Partner e certificazioni (home) */
.linf-partners{padding:0 0 70px;text-align:center;}
.linf-partners-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-top:20px;}
.linf-partner-badge{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:12px 22px;font-size:14px;font-weight:700;}
.linf-partner-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);flex-shrink:0;}

/* FAQ */
.linf-faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.linf-faq-item{background:var(--card);border-radius:12px;padding:18px 22px;}
.linf-faq-item summary{font-size:15px;font-weight:700;cursor:pointer;list-style:none;position:relative;padding-right:28px;}
.linf-faq-item summary::-webkit-details-marker{display:none;}
.linf-faq-item summary::after{content:'+';position:absolute;right:0;top:0;font-size:20px;color:var(--coral-deep);font-weight:400;}
.linf-faq-item[open] summary::after{content:'\2212';}
.linf-faq-item p{font-size:14px;color:var(--gray);line-height:1.65;margin:14px 0 0;}

/* Mappa (Contatti) */
.linf-map{margin-top:8px;border-radius:12px;overflow:hidden;border:1px solid var(--line);}

/* Divisore a barre (firma grafica) */
.linf-divider{display:flex;align-items:flex-end;justify-content:center;gap:6px;padding:50px 0 30px;}
.linf-bar{width:8px;border-radius:3px 3px 0 0;}

/* Footer */
.linf-footer{background:var(--ink);color:#fff;padding:36px 0;}
.linf-footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.linf-footer-logo{display:flex;align-items:center;gap:12px;font-size:13px;color:#a8a7a3;}
.linf-footer-logo img{height:30px;filter:brightness(0) invert(1);opacity:0.9;}
.linf-footer-meta a{font-size:13px;color:#a8a7a3;text-decoration:none;}
.linf-footer-meta a:hover{color:#fff;}

/* Pagine generiche (Chi siamo) */
.linf-page{padding:60px 0 90px;}
.linf-page-header{max-width:720px;margin:0 auto 40px;text-align:center;}
.linf-page-header h1{font-size:36px;font-weight:800;margin:0 0 14px;}
.linf-page-header p{color:var(--gray);font-size:16px;}
.linf-page-body{max-width:720px;margin:0 auto;}
.linf-page-avatar{display:flex;justify-content:center;margin-bottom:28px;}
.linf-page-avatar img{border-radius:50%;width:140px;height:140px;object-fit:cover;}
.linf-page-content{font-size:16px;line-height:1.75;color:var(--ink);}
.linf-page-content p{margin:0 0 18px;}

/* Pagina Servizi (elenco esteso) */
.linf-svc-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px;}
.linf-svc-full{background:var(--card);border-radius:16px;padding:28px 26px;position:relative;}
.linf-svc-full h2{font-size:18px;font-weight:700;margin:0 0 10px;}
.linf-svc-full p{font-size:14px;color:var(--gray);line-height:1.6;margin:0;}
.linf-svc-featured{grid-column:1 / -1;background:#fff;border:1px solid var(--line);}
.linf-svc-illustration{margin:-4px 0 20px;border-radius:12px;overflow:hidden;}
.linf-page-cta{text-align:center;margin-top:48px;}

/* Pagina Contatti */
.linf-contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:48px;margin-top:40px;}
.linf-contact-info{display:flex;flex-direction:column;gap:22px;}
.linf-contact-row{display:flex;gap:14px;align-items:flex-start;font-size:14px;color:var(--gray);}
.linf-contact-row i{font-size:20px;color:var(--coral-deep);margin-top:2px;}
.linf-contact-row strong{color:var(--ink);font-size:14px;}
.linf-contact-form form{display:flex;flex-direction:column;gap:16px;}
.linf-contact-form label{font-size:13px;font-weight:700;color:var(--ink);display:flex;flex-direction:column;gap:6px;}
.linf-contact-form input,
.linf-contact-form textarea{font-family:inherit;font-size:14px;padding:12px 14px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink);}
.linf-contact-form input:focus,
.linf-contact-form textarea:focus{outline:none;border-color:var(--coral);}
.linf-contact-form button{align-self:flex-start;margin-top:6px;}
.linf-form-msg{padding:14px 16px;border-radius:10px;font-size:14px;margin-bottom:20px;}
.linf-form-ok{background:rgba(99,153,34,0.12);color:#3b6d11;}
.linf-form-error{background:rgba(226,75,74,0.12);color:#a32d2d;}

/* Responsive */
@media (max-width: 900px){
  .linf-svc-grid{grid-template-columns:repeat(2,1fr);}
  .linf-svc-list{grid-template-columns:1fr;}
  .linf-contact-grid{grid-template-columns:1fr;}
  .linf-process-grid{grid-template-columns:repeat(2,1fr);}
  .linf-hero h1{font-size:34px;}
  .linf-founder{flex-direction:column;}
  .linf-intro-inner{padding:36px 28px;}
}
@media (max-width: 560px){
  .linf-svc-grid{grid-template-columns:1fr;}
  .linf-header{flex-direction:column;gap:16px;}
  .linf-nav{gap:20px;font-size:14px;}
  .linf-wrap{padding:0 22px;}
}
