/* Pagina "Il portale" (/il-portale): stile della home, navy + arancio VivoQui */
.pt{--navy:#172541;--navy-2:#101a33;--or:#ff6508;--or-2:#e85d09;--ink:#172541;--muted:#4a556f;--soft:#f5f6f8;color:var(--ink);overflow:hidden}
.pt .container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.pt h1,.pt h2,.pt h3{letter-spacing:-.02em;line-height:1.1;margin:0}
.pt-accent{color:var(--or);white-space:nowrap}
.pt-kicker{margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--or-2)}
.pt-eyebrow{margin:0 0 16px;display:inline-block;padding:7px 14px;border-radius:999px;background:#fff1e8;color:var(--or-2);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}

/* bottoni */
.pt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 26px;border-radius:14px;font-weight:800;font-size:15px;text-decoration:none;transition:transform .15s,box-shadow .2s,background .2s}
.pt-btn:hover{transform:translateY(-2px)}
.pt-btn--primary{background:var(--or);color:#fff;box-shadow:0 12px 28px rgba(255,101,8,.30)}
.pt-btn--primary:hover{background:#ef5900;box-shadow:0 16px 34px rgba(255,101,8,.36)}
.pt-btn--ghost{background:#fff;color:var(--navy);border:1.5px solid #dfe3ea}
.pt-btn--ghost:hover{border-color:var(--navy)}
.pt-btn--ghost-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35)}
.pt-btn--ghost-light:hover{background:rgba(255,255,255,.1)}
.pt-cta{display:flex;flex-wrap:wrap;gap:12px}

/* hero */
.pt-hero{position:relative;padding:64px 0 72px;background:radial-gradient(900px 500px at 90% -10%,rgba(255,101,8,.16),transparent 60%),linear-gradient(180deg,#fff 0%,#f5f6f8 100%)}
.pt-hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}
.pt-hero h1{font-size:clamp(38px,5.2vw,64px);font-weight:800;color:var(--navy)}
.pt-lead{margin:22px 0 30px;font-size:19px;line-height:1.6;color:var(--muted);max-width:520px}
.pt-hero-img{position:relative;margin:0}
.pt-hero-img img{display:block;width:100%;height:auto;aspect-ratio:8/5;object-fit:cover;border-radius:28px;box-shadow:0 30px 60px rgba(23,37,65,.22)}
.pt-chip{position:absolute;left:18px;bottom:18px;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.96);color:var(--navy);font-size:14px;font-weight:700;box-shadow:0 14px 30px rgba(0,0,0,.18)}
.pt-chip-dot{width:10px;height:10px;border-radius:50%;background:#1a9e5c;box-shadow:0 0 0 4px rgba(26,158,92,.18)}

/* il nome */
.pt-nome{padding:88px 0;background:#fff;text-align:center}
.pt-big{margin:0;font-size:clamp(46px,8vw,96px);font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--navy)}
.pt-big em{font-style:normal;color:var(--or)}
.pt-text{max-width:620px;margin:26px auto 0;font-size:18px;line-height:1.7;color:var(--muted)}
.pt-text strong{color:var(--navy)}

/* principi */
.pt-principi{padding:88px 0;background:var(--soft)}
.pt-head{margin-bottom:44px;max-width:640px}
.pt-head h2{font-size:clamp(30px,3.6vw,44px);font-weight:800;color:var(--navy)}
.pt-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pt-card{padding:32px 28px;border-radius:24px;background:#fff;border:1px solid #e8ebf1;box-shadow:0 10px 30px rgba(23,37,65,.05);transition:transform .25s,box-shadow .25s}
.pt-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(23,37,65,.12)}
.pt-card-ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;margin-bottom:22px;border-radius:16px;background:#fff1e8;color:var(--or-2)}
.pt-card-ico svg{width:24px;height:24px}
.pt-card h3{font-size:21px;font-weight:800;color:var(--navy);margin-bottom:12px}
.pt-card p{margin:0;font-size:15.5px;line-height:1.65;color:var(--muted)}

/* passi */
.pt-passi{padding:88px 0;background:#fff}
.pt-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;counter-reset:passo}
.pt-steps li{position:relative;padding:34px 30px 32px;border-radius:24px;background:linear-gradient(165deg,#172a52,#101a33);color:#fff;overflow:hidden}
.pt-steps li::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,101,8,.35),transparent 70%)}
.pt-num{display:inline-block;margin-bottom:22px;font-size:14px;font-weight:800;letter-spacing:.1em;color:#ffb27d}
.pt-steps h3{position:relative;z-index:1;font-size:22px;font-weight:800;margin-bottom:12px;color:#fff}
.pt-steps p{position:relative;z-index:1;margin:0;font-size:15.5px;line-height:1.65;color:rgba(255,255,255,.8)}

/* chiusura */
.pt-finale{padding:72px 0;background:linear-gradient(135deg,#172a52 0%,#101a33 100%);color:#fff;position:relative;overflow:hidden}
.pt-finale::before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(255,101,8,.35),transparent 65%)}
.pt-finale-in{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}
.pt-finale h2{font-size:clamp(30px,3.6vw,46px);font-weight:800;color:#fff}
.pt-finale .pt-kicker{color:#ffb27d}

/* telefono */
@media (max-width:900px){
    .pt-hero-in{grid-template-columns:1fr;gap:36px}
    .pt-grid,.pt-steps{grid-template-columns:1fr}
}
@media (max-width:560px){
    .pt-hero{padding:40px 0 52px}
    .pt-lead{font-size:17px}
    .pt-nome,.pt-principi,.pt-passi{padding:64px 0}
    .pt-cta .pt-btn{flex:1 1 100%}
    .pt-finale-in .pt-cta .pt-btn{flex:1 1 100%}
    .pt-card,.pt-steps li{padding:26px 22px}
}
@media (prefers-reduced-motion:reduce){.pt-card,.pt-btn{transition:none}}