/* Home — design nuovo dentro il guscio del sito. Tutto e' scoped sotto .ti-home
   per non toccare menu e footer catturati. Palette e font del brand. */
.ti-home{
  --primary:#044e12; --primary-dark:#033a0d; --primary-soft:#eaf2eb;
  --secondary:#640610;
  --dark:#212121; --text:#3a3d3a; --muted:#5f625f; --line:#e4e6e3;
  --bg:#fff; --bg-alt:#f6f7f5;
  --serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --sans:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  display:block;background:var(--bg);color:var(--dark);font:16px/1.65 var(--sans);
}
.ti-home *{box-sizing:border-box}
.ti-home a{color:inherit;text-decoration:none}
.ti-home h1,.ti-home h2,.ti-home h3{font-family:var(--serif);margin:0;text-wrap:balance}
.ti-home p{margin:0}
.ti-home :focus-visible{outline:2px solid var(--secondary);outline-offset:3px}

/* buttons */
.ti-home .h-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:13px 26px;border-radius:8px;font:500 15px/1 var(--sans);border:0;cursor:pointer;transition:background .15s,transform .15s}
.ti-home .h-btn:hover{transform:translateY(-1px)}
.ti-home .h-btn svg{width:16px;height:16px}
.ti-home .h-btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 20px -10px rgba(4,78,18,.7)}
.ti-home .h-btn-primary:hover{background:var(--primary-dark)}
.ti-home .h-btn-secondary{background:var(--secondary);color:#fff}
.ti-home .h-btn-outline{border:1.5px solid var(--primary);color:var(--primary);background:#fff}
.ti-home .h-btn-outline:hover{background:var(--primary-soft)}

/* hero */
.ti-home .h-hero{position:relative;overflow:hidden}
.ti-home .h-hero-bg{position:absolute;inset:0;background:url(/images/web/italian-flag.webp) center/cover no-repeat}
.ti-home .h-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.97) 38%,rgba(255,255,255,.75) 58%,rgba(255,255,255,.15) 100%)}
.ti-home .h-hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:40px;min-height:560px;padding-top:64px;padding-bottom:64px}
.ti-home .h-kicker{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--secondary)}
.ti-home .h-kicker::before{content:"";width:28px;height:2px;background:var(--secondary)}
.ti-home .h-hero h1{font-size:clamp(44px,6.4vw,84px);font-weight:600;line-height:1.02;margin-top:18px;letter-spacing:-.015em}
.ti-home .h-hero h1 span{color:var(--primary)}
.ti-home .h-lead{font-size:clamp(17px,1.7vw,20px);color:var(--text);max-width:36ch;margin-top:22px;font-weight:300}
.ti-home .h-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.ti-home .h-trust{display:flex;flex-wrap:wrap;gap:24px;margin-top:40px;font-size:14px;color:var(--muted)}
.ti-home .h-trust div{display:flex;align-items:center;gap:10px}
.ti-home .h-trust b{font:600 26px/1 var(--serif);color:var(--primary)}
.ti-home .h-pass{justify-self:center}
.ti-home .h-pass img{width:min(360px,100%);height:auto;filter:drop-shadow(0 30px 40px rgba(60,10,20,.35));transform:rotate(-6deg);transition:transform .6s}
.ti-home .h-pass:hover img{transform:rotate(-2deg) translateY(-6px)}

/* section scaffolding */
.ti-home .h-block{padding-top:clamp(64px,8vw,104px);padding-bottom:clamp(64px,8vw,104px)}
.ti-home .h-alt{background:var(--bg-alt)}
.ti-home .h-title{text-align:center;max-width:760px;margin:0 auto 48px}
.ti-home .h-title h2{font-size:clamp(34px,4.4vw,50px);font-weight:500;color:var(--secondary);line-height:1.15}
.ti-home .h-rule{display:flex;justify-content:center;margin-top:18px}
.ti-home .h-rule i{width:22px;height:3px;background:var(--primary)}
.ti-home .h-rule i:nth-child(2){background:#d8dcd6}
.ti-home .h-rule i:nth-child(3){background:var(--secondary)}
.ti-home .h-title p{color:var(--muted);margin-top:16px;font-size:17px}
.ti-home .h-center{text-align:center;margin-top:28px}

/* about */
.ti-home .h-about{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,5vw,64px);align-items:center}
.ti-home .h-about-card{background:var(--primary);color:#fff;border-radius:16px;padding:40px 36px;position:relative;overflow:hidden}
.ti-home .h-about-card::after{content:"";position:absolute;right:-40px;bottom:-40px;width:180px;height:180px;background:url(/images/web/logo.webp) center/contain no-repeat;opacity:.12}
.ti-home .h-num{font:600 72px/1 var(--serif)}
.ti-home .h-num small{font-size:28px}
.ti-home .h-about-card p{margin-top:10px;font-size:17px;opacity:.9;max-width:24ch}
.ti-home .h-who{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.25);font-size:14px;opacity:.85}
.ti-home .h-who b{display:block;font:600 20px/1.3 var(--serif)}
.ti-home .h-about-text{display:grid;gap:18px;font-size:17px;color:var(--text)}
.ti-home .h-about-text strong,.ti-home .h-partners-text strong{color:var(--primary);font-weight:500}
.ti-home .h-closing{font:italic 500 22px/1.4 var(--serif);color:var(--secondary)}

/* offices */
.ti-home .h-offices{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.ti-home .h-office{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px;display:grid;gap:12px;align-content:start;transition:box-shadow .2s,border-color .2s}
.ti-home .h-office:hover{border-color:#cfd6cf;box-shadow:0 20px 40px -28px rgba(0,0,0,.35)}
.ti-home .h-tag{justify-self:start;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);padding:6px 10px;border-radius:999px}
.ti-home .h-office h3{font-size:26px;font-weight:600}
.ti-home .h-row{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.ti-home .h-row svg{width:18px;height:18px;flex:none;margin-top:3px;color:var(--secondary)}
.ti-home .h-offices-cta{text-align:center;margin-top:36px;display:grid;gap:14px;justify-items:center}
.ti-home .h-offices-cta p{color:var(--muted)}
.ti-home .h-offices-cta svg{width:16px;height:16px}

/* services */
.ti-home .h-services{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.ti-home .h-service{background:#fff;border-radius:14px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.ti-home .h-service:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px rgba(0,0,0,.4)}
.ti-home .h-service figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--bg-alt)}
.ti-home .h-service figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ti-home .h-service:hover figure img{transform:scale(1.05)}
.ti-home .h-service-body{padding:24px 22px 26px;display:flex;flex-direction:column;gap:12px;flex:1}
.ti-home .h-service h3{font-size:22px;font-weight:600;line-height:1.25}
.ti-home .h-service p{color:var(--muted);font-size:15px;flex:1}
.ti-home .h-more{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:500;font-size:15px}
.ti-home .h-more svg{width:15px;height:15px;transition:transform .2s}
.ti-home .h-service:hover .h-more svg{transform:translateX(4px)}

/* reviews */
.ti-home .h-reviews{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 2px 28px;scrollbar-width:none}
.ti-home .h-reviews::-webkit-scrollbar{display:none}
.ti-home .h-review{scroll-snap-align:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px 28px;display:flex;flex-direction:column;gap:18px;position:relative}
.ti-home .h-review::before{content:"\201C";position:absolute;top:6px;right:22px;font:700 84px/1 var(--serif);color:var(--primary-soft)}
.ti-home .h-review blockquote{margin:0;font-size:15.5px;color:var(--text);flex:1;position:relative}
.ti-home .h-review-who{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px solid var(--line)}
.ti-home .h-review-who img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:0 0 0 1px var(--line)}
.ti-home .h-review-who b{display:block;font-weight:500}
.ti-home .h-review-who span{font-size:13.5px;color:var(--muted)}
.ti-home .h-slider-nav{display:flex;justify-content:center;gap:14px;margin-top:8px}
.ti-home .h-slider-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--dark);transition:.15s}
.ti-home .h-slider-nav button:hover{background:var(--primary);color:#fff;border-color:var(--primary)}
.ti-home .h-slider-nav svg{width:18px;height:18px}

/* partners */
.ti-home .h-partners{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(32px,5vw,72px);align-items:start}
.ti-home .h-partners-text{display:grid;gap:16px;font-size:17px;color:var(--text)}
.ti-home .h-pillars{list-style:none;margin:0;padding:0;border-left:3px solid var(--primary)}
.ti-home .h-pillars li{padding:4px 0 26px 26px}
.ti-home .h-pillars li:last-child{padding-bottom:4px}
.ti-home .h-pillars h3{font-size:21px;font-weight:600}
.ti-home .h-pillars p{color:var(--muted);font-size:15px;margin-top:4px}

/* cta band */
.ti-home .h-band{margin-top:72px;background:linear-gradient(120deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;border-radius:18px;padding:clamp(32px,5vw,52px);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;position:relative;overflow:hidden}
.ti-home .h-band::after{content:"";position:absolute;right:0;top:0;bottom:0;width:10px;background:linear-gradient(180deg,#0a8a24 0 33%,#fff 33% 66%,#c8102e 66%)}
.ti-home .h-band h2{font-size:clamp(26px,3.2vw,38px);font-weight:500}
.ti-home .h-band p{opacity:.85;margin-top:8px}
.ti-home .h-band .h-btn{background:#fff;color:var(--primary)}

/* responsive */
@media (max-width:1024px){
  .ti-home .h-services{grid-template-columns:repeat(2,1fr)}
  .ti-home .h-reviews{grid-auto-columns:calc((100% - 24px)/2)}
}
@media (max-width:860px){
  .ti-home .h-hero-grid{grid-template-columns:1fr;min-height:0;padding-top:48px;padding-bottom:48px}
  .ti-home .h-hero-bg::after{background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 60%,rgba(255,255,255,.55) 100%)}
  .ti-home .h-pass img{width:200px}
  .ti-home .h-about,.ti-home .h-partners{grid-template-columns:1fr}
}
@media (max-width:760px){.ti-home .h-offices{grid-template-columns:1fr}}
@media (max-width:640px){.ti-home .h-reviews{grid-auto-columns:88%}}
@media (max-width:560px){.ti-home .h-services{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ti-home *{transition:none!important}}
/* recensioni Google nella home */
.h-gscore{display:flex;align-items:center;justify-content:center;gap:10px;margin:-8px 0 22px;font-size:15px;color:#4a4f4b}
.h-gscore b{font-size:24px;font-weight:600;color:#1f2320}
.h-gcount{color:#6b706c}
.h-stars{color:#fbbc04;letter-spacing:2px}
.h-review .h-stars{font-size:15px;margin-bottom:8px}
.h-avatar{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:#044e12;color:#fff;font-weight:600;font-size:20px;flex:none}
