/* Modello delle pagine istituzionali del restyling (Chi sono, Per chi lavoro, Servizi, Contatti).
   Componenti ricavati dalla home rev. 6: fascia scura con aloni, ritratto con cornice sfumata,
   schede su fondo scuro, elenchi con spunta, passi numerati, tessere di collegamento.
   Tutto sotto #pci. Solo ASCII. */
#pci {
	--abyss: #041E33; --ink: #062944; --deep: #00335C; --navy: #00457C; --orange: #F08228; --orange-2: #FF9A45;
	--orange-d: #B35300; --amber: #FFB300; --paper: #F2F6FA; --paper-2: #E6EEF6; --line: #D3DEEA; --text: #1F2937;
	--title: #0B1B2B; --muted: #51637A; --on: #EDF3F9; --on-2: #AFC3D8;
	--display: "Archivo", "Roboto", "Helvetica Neue", Arial, sans-serif; --body: "Roboto", "Helvetica Neue", Arial, sans-serif;
	--gutter: clamp(16px, 4vw, 56px); --maxw: 1240px; --ease: cubic-bezier(.2, .75, .2, 1);
	font-family: var(--body); color: var(--text); font-size: 1.0625rem; line-height: 1.7; background: var(--paper);
}
#pci *, #pci *::before, #pci *::after { box-sizing: border-box; }
#pci p { margin: 0; }
#pci a { color: inherit; }
#pci img { max-width: 100%; display: block; }
#pci .wrap { max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
#pci :where(h1, h2, h3, h4) { font-family: var(--display); margin: 0; text-wrap: balance; letter-spacing: -.015em; }
#pci h2 { font-size: clamp(1.9rem, 3.8vw, 3rem); font-weight: 850; font-stretch: 112%; line-height: 1.08; color: var(--title); }
#pci h3 { font-size: 1.2rem; font-weight: 800; font-stretch: 106%; line-height: 1.25; color: var(--navy); }
/* icone dei vecchi contenuti senza colore del tratto: prendono il colore del testo */
#pci svg[fill="none"]:not([stroke]) { stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }
#pci :where(h1, h2, h3) { overflow-wrap: normal; word-break: normal; }
#pci .hero h1 strong { font-weight: inherit; background: linear-gradient(100deg, var(--amber) 0%, var(--orange) 45%, #ff6a3d 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
#pci .grad { background: linear-gradient(100deg, var(--amber) 0%, var(--orange) 45%, #ff6a3d 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
#pci .sec { padding-block: clamp(64px, 8vw, 112px); }
#pci .sec-head { display: grid; gap: 1rem; margin-bottom: clamp(2rem, 4vw, 3.2rem); }
#pci .sec-head p { font-size: 1.12rem; color: var(--muted); }
#pci .bar-o { width: 72px; height: 4px; border-radius: 2px; background: var(--orange); }
#pci .btn { display: inline-flex; align-items: center; gap: .6rem; font: 700 1rem/1.2 var(--body); padding: 1rem 1.5rem; border-radius: 999px; text-decoration: none; transition: transform .35s var(--ease), background .25s, box-shadow .35s var(--ease); }
#pci .btn svg { width: 18px; height: 18px; flex: none; transition: transform .35s var(--ease); }
#pci .btn:hover svg { transform: translateX(4px); }
#pci .btn-o { background: var(--orange); color: #fff; box-shadow: 0 14px 34px -12px rgba(240, 130, 40, .75); }
#pci .btn-o:hover { background: var(--orange-2); }
#pci .btn-g { background: rgba(255, 255, 255, .06); color: #fff; border: 1px solid rgba(255, 255, 255, .22); }
#pci .btn-g:hover { background: rgba(255, 255, 255, .12); }
#pci .btn-g svg { color: #fff; }
#pci .btn-g svg:not([fill="none"]) { fill: #fff; }

/* fascia iniziale scura */
#pci .hero { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(180deg, var(--ink) 0%, var(--abyss) 100%); color: var(--on); padding-block: clamp(28px, 4vw, 44px) clamp(64px, 8vw, 104px); }
#pci .hero::before { content: ""; position: absolute; z-index: -1; width: 900px; height: 900px; left: -320px; top: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 69, 124, .7), transparent 65%); }
#pci .hero::after { content: ""; position: absolute; z-index: -1; width: 700px; height: 700px; right: -260px; bottom: -320px; border-radius: 50%; background: radial-gradient(circle, rgba(240, 130, 40, .2), transparent 65%); }
#pci .crumb ol { list-style: none; display: flex; flex-wrap: wrap; gap: .2rem .5rem; margin: 0 0 clamp(26px, 4vw, 44px); padding: 0; font-size: .9rem; color: var(--on-2); }
#pci .crumb li { display: flex; align-items: center; gap: .5rem; }
#pci .crumb li:not(:last-child)::after { content: "/"; color: rgba(175, 195, 216, .6); }
#pci .crumb a { color: #fff; text-decoration: none; font-weight: 500; }
#pci .crumb a:hover { color: var(--amber); }
#pci .hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
#pci .hero-grid.solo { grid-template-columns: minmax(0, 1fr); }
#pci .hero h1 { font-size: clamp(2.1rem, 3.7vw, 3.4rem); font-weight: 900; font-stretch: 116%; line-height: 1; color: #fff; }
#pci .hero-grid:not(.solo) h1 { font-size: clamp(2rem, 3.1vw, 3rem); }
#pci .hero h1 .sub { display: block; margin-top: .6rem; font-size: .5em; font-weight: 700; font-stretch: 104%; line-height: 1.2; }
#pci .hero .quote { margin-top: 1.6rem; font: italic 500 clamp(1.1rem, 1.7vw, 1.35rem)/1.5 var(--body); color: #fff; padding-left: 0; }
#pci .hero .quote::before { content: ""; display: block; width: 56px; height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--amber), var(--orange)); margin-bottom: 1rem; }
#pci .hero .lead { margin-top: 1.4rem; font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.65; color: var(--on); max-width: 46rem; }
#pci .brands { margin-top: 1.8rem; display: grid; gap: .7rem; }
#pci .brands .lab { font: 700 .78rem/1.2 var(--body); letter-spacing: .14em; text-transform: uppercase; color: var(--on-2); }
#pci .brands .list { font: 800 clamp(1rem, 1.5vw, 1.2rem)/1.3 var(--display); font-stretch: 110%; letter-spacing: .06em; color: #fff; }
#pci .hero .actions { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 12px; }
#pci .portrait { position: relative; max-width: 420px; justify-self: end; width: 100%; }
#pci .frame { border-radius: 30px; padding: 3px; background: linear-gradient(150deg, rgba(255, 179, 0, .9), rgba(240, 130, 40, .5) 30%, rgba(34, 114, 177, .5) 70%, rgba(255, 255, 255, .15)); }
#pci .frame-in { border-radius: 27px; overflow: hidden; background: linear-gradient(180deg, #fff, #E9EFF5); }
#pci .frame-in img { width: 100%; height: auto; aspect-ratio: 1348 / 1558; object-fit: cover; object-position: 50% 0; }
#pci .hero .intro p + p { margin-top: 1rem; }

/* sezione scura */
#pci .dark { position: relative; overflow: hidden; isolation: isolate; background: var(--abyss); color: var(--on); }
#pci .dark::before { content: ""; position: absolute; z-index: -1; width: 900px; height: 900px; left: -300px; top: -200px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 69, 124, .65), transparent 65%); }
#pci .dark::after { content: ""; position: absolute; z-index: -1; width: 700px; height: 700px; right: -240px; bottom: -260px; border-radius: 50%; background: radial-gradient(circle, rgba(240, 130, 40, .2), transparent 65%); }
#pci .dark h2, #pci .dark h3, #pci .dark strong { color: #fff; }
#pci .dark .sec-head p { color: var(--on); }
#pci .dcards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.6vw, 22px); }
#pci .dcard { border-radius: 22px; padding: clamp(20px, 2.2vw, 28px); background: linear-gradient(160deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .02)); border: 1px solid rgba(255, 255, 255, .12); display: grid; gap: .8rem; align-content: start; transition: transform .5s var(--ease), border-color .4s; }
#pci .dcard:hover { transform: translateY(-6px); border-color: rgba(255, 179, 0, .4); }
#pci .dcard .ico { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(145deg, rgba(255, 179, 0, .2), rgba(240, 130, 40, .08)); border: 1px solid rgba(255, 179, 0, .35); color: var(--amber); font: 800 1.05rem/1 var(--display); }
#pci .promise { margin: clamp(2.6rem, 5vw, 4rem) auto 0; text-align: center; max-width: 52rem; font: 600 clamp(1.1rem, 1.7vw, 1.4rem)/1.5 var(--body); color: #fff; }

/* sezioni chiare */
#pci .light { background: var(--paper); }
#pci .white { background: #fff; }
#pci .split { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
#pci .prose { display: grid; gap: 1.1rem; font-size: 1.08rem; }
#pci .prose h2 { margin-bottom: .4rem; font-size: clamp(1.6rem, 2.6vw, 2.3rem); }
#pci .panel { background: #fff; border-radius: 26px; padding: clamp(22px, 3vw, 36px); box-shadow: 0 1px 0 var(--line), 0 30px 60px -45px rgba(4, 30, 51, .55); display: grid; gap: 1.2rem; }
#pci .light .panel { background: #fff; }
#pci .white .panel { background: var(--paper); box-shadow: none; }
#pci .panel h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); }
#pci .ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
#pci .ticks li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .9rem; align-items: start; }
#pci .ticks .tk { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #FFF4EA; color: var(--orange-d); }
#pci .ticks .tk svg { width: 20px; height: 20px; }
#pci .ticks strong { display: block; color: var(--navy); font-family: var(--display); font-weight: 800; }
#pci .ticks p, #pci .ticks div { color: var(--muted); font-size: 1rem; line-height: 1.6; }

/* riquadri dell'esperienza */
#pci .bento { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); }
#pci .bcard { grid-column: span 2; background: #fff; border-radius: 24px; padding: clamp(22px, 2.6vw, 32px); box-shadow: 0 1px 0 var(--line), 0 30px 60px -45px rgba(4, 30, 51, .55); display: grid; gap: .8rem; align-content: start; }
#pci .bcard.big { grid-column: span 3; background: linear-gradient(155deg, var(--navy), var(--ink)); color: var(--on); }
#pci .bcard.big .t { color: #fff; }
#pci .bcard.wide { grid-column: span 3; }
#pci .bcard .t { font: 800 clamp(1.15rem, 1.6vw, 1.4rem)/1.25 var(--display); font-stretch: 106%; color: var(--navy); }
#pci .bcard p { color: var(--muted); font-size: 1rem; }
#pci .bcard.big p { color: var(--on); font-size: 1.08rem; }
#pci .chips { list-style: none; margin: .4rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
#pci .chips li { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); color: #fff; border-radius: 999px; padding: .45rem .9rem; font-size: .92rem; font-weight: 500; }
#pci .bcard:not(.big) .chips li { background: var(--paper); border-color: var(--line); color: var(--navy); }

/* passi */
#pci .steps-sec { position: relative; overflow: hidden; isolation: isolate; background: linear-gradient(160deg, var(--navy) 0%, var(--deep) 55%, var(--ink) 100%); color: #fff; }
#pci .steps-sec::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(255, 255, 255, .12) 1px, transparent 1.4px); background-size: 26px 26px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%); }
#pci .steps-sec h2 { color: #fff; }
#pci .steps-sec .sec-head p { color: var(--on); }
#pci .steps { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }
#pci .steps::before { content: ""; position: absolute; left: 28px; right: 28px; top: 28px; height: 2px; background: linear-gradient(90deg, var(--amber), var(--orange)); opacity: .8; }
#pci .step { position: relative; display: grid; gap: .9rem; align-content: start; }
#pci .step .num { width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; font: 900 1.3rem/1 var(--display); background: var(--orange); color: #fff; box-shadow: 0 0 0 6px rgba(240, 130, 40, .18); }
#pci .step h3 { color: #fff; font-size: 1.2rem; }
#pci .step p { color: var(--on); font-size: 1rem; line-height: 1.6; }

/* tessere di collegamento */
#pci .tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); margin-top: clamp(2.4rem, 5vw, 3.6rem); }
#pci .tile { position: relative; overflow: hidden; isolation: isolate; border-radius: 22px; background: #fff; padding: 26px 28px; text-decoration: none; display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; min-height: 150px; box-shadow: 0 1px 0 var(--line); transition: color .4s; }
#pci .tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(135deg, var(--navy), var(--ink)); transform: translateY(101%); transition: transform .55s var(--ease); }
#pci .tile:hover::before, #pci .tile:focus-visible::before { transform: none; }
#pci .tile p { color: var(--title); transition: color .4s; }
#pci .tile .go { display: block; margin-top: .5rem; color: var(--orange-d); font-weight: 700; transition: color .4s; }
#pci .tile .circ { flex: none; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; background: var(--paper); color: var(--navy); transition: background .4s, color .4s, transform .5s var(--ease); }
#pci .tile .circ svg { width: 20px; height: 20px; }
#pci .tile:hover p, #pci .tile:focus-visible p { color: #fff; }
#pci .tile:hover .go, #pci .tile:focus-visible .go { color: var(--amber); }
#pci .tile:hover .circ, #pci .tile:focus-visible .circ { background: var(--orange); color: #fff; transform: rotate(-45deg); }

/* invito finale */
#pci .cta { position: relative; overflow: hidden; isolation: isolate; border-radius: 30px; padding: clamp(32px, 5vw, 64px); text-align: center; color: #fff; background: linear-gradient(150deg, var(--navy) 0%, var(--deep) 55%, var(--ink) 100%); }
#pci .cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: radial-gradient(rgba(255, 255, 255, .12) 1px, transparent 1.4px); background-size: 24px 24px; -webkit-mask-image: linear-gradient(180deg, #000, transparent 85%); mask-image: linear-gradient(180deg, #000, transparent 85%); }
#pci .cta h2 { color: #fff; max-width: 28ch; margin: 0 auto 1rem; font-size: clamp(1.7rem, 3.2vw, 2.5rem); }
#pci .cta p { color: var(--on); max-width: 46rem; margin: 0 auto .5rem; font-size: 1.08rem; }
#pci .cta .actions { margin-top: 1.6rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

/* domande frequenti */
#pci .faq { display: grid; gap: 10px; }
#pci .faq details { background: #fff; border-radius: 16px; box-shadow: 0 1px 0 var(--line); transition: box-shadow .3s; }
#pci .faq details[open] { box-shadow: 0 1px 0 var(--line), 0 24px 44px -36px rgba(4, 30, 51, .6); }
#pci .faq summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 18px 22px; font: 700 1.05rem/1.4 var(--body); color: var(--navy); }
#pci .faq summary::-webkit-details-marker { display: none; }
#pci .faq summary::after { content: ""; width: 28px; height: 28px; border-radius: 50%; background: var(--paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300457C' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat; transition: transform .3s var(--ease); }
#pci .faq details[open] summary::after { transform: rotate(45deg); }
#pci .faq .a { padding: 0 22px 20px; color: var(--text); }
#pci .faq .a > * + * { margin-top: .6rem; }
#pci .meta { padding: 22px 0 48px; text-align: center; font-size: .92rem; color: var(--muted); }
#pci .meta strong { color: var(--title); }

/* elementi del PPWR sospeso restano nascosti dal tema; niente comparsa se il movimento e' ridotto */
@media (max-width: 980px) {
	#pci .hero-grid, #pci .split { grid-template-columns: 1fr; }
	#pci .portrait { justify-self: start; max-width: 360px; }
	#pci .bento { grid-template-columns: 1fr 1fr; }
	#pci .bcard, #pci .bcard.big { grid-column: span 2; grid-row: auto; }
	#pci .steps { grid-template-columns: 1fr 1fr; row-gap: 2rem; }
	#pci .steps::before { display: none; }
}
@media (max-width: 700px) {
	#pci .dcards, #pci .tiles, #pci .steps { grid-template-columns: 1fr; }
	#pci .bento { grid-template-columns: 1fr; }
	#pci .bcard, #pci .bcard.big { grid-column: auto; }
	#pci .hero h1 { font-stretch: 108%; }
}
@media (prefers-reduced-motion: reduce) {
	#pci *, #pci *::before, #pci *::after { transition: none !important; animation: none !important; }
}

/* Per chi lavoro: schede dei profili */
#pci .tcards { display: grid; gap: clamp(16px, 2vw, 24px); }
#pci .tcard { background: #fff; border-radius: 26px; padding: clamp(22px, 3vw, 36px); box-shadow: 0 1px 0 var(--line), 0 30px 60px -45px rgba(4, 30, 51, .55); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, 1.15fr); gap: clamp(18px, 3vw, 40px); align-items: start; }
#pci .tcard .th { display: grid; gap: 1rem; align-content: start; }
#pci .tcard .th .ic { width: 60px; height: 60px; border-radius: 18px; display: grid; place-items: center; background: linear-gradient(145deg, var(--navy), var(--ink)); color: #fff; }
#pci .tcard .th .ic svg { width: 28px; height: 28px; }
#pci .tcard h2 { font-size: clamp(1.3rem, 1.9vw, 1.65rem); color: var(--navy); }
#pci .tcard .tv { background: var(--paper); border-radius: 18px; padding: 20px 22px; font: 600 1.05rem/1.6 var(--body); color: var(--title); }
#pci .checks { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
#pci .checks li { position: relative; padding-left: 34px; color: var(--text); line-height: 1.55; }
#pci .checks li::before { content: ""; position: absolute; left: 0; top: .1em; width: 22px; height: 22px; border-radius: 50%; background: var(--orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat; }
#pci .dcard h2.h3 { font-size: clamp(1.3rem, 2vw, 1.6rem); color: #fff; }
#pci .dcard .benefit { margin-top: .4rem; padding-top: .9rem; border-top: 1px solid rgba(255, 255, 255, .14); color: var(--amber); font-weight: 600; }

/* Servizi */
#pci .portrait.wide { max-width: 520px; }
#pci .portrait.wide .frame-in img { aspect-ratio: 4 / 3; object-position: 50% 50%; }
#pci .sec.thin { padding-block: clamp(36px, 5vw, 64px); }
#pci .pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.8vw, 24px); }
#pci .pair .panel { background: var(--paper); box-shadow: none; font-size: 1.08rem; }
#pci .pair .panel.sol { background: linear-gradient(155deg, var(--navy), var(--ink)); color: var(--on); }
#pci .pair .panel.sol strong { color: var(--amber); }
#pci .pair .panel.prob strong { color: var(--orange-d); }
#pci .areas { display: grid; gap: clamp(3rem, 6vw, 5rem); }
#pci .area-head { display: grid; gap: .8rem; margin-bottom: clamp(1.4rem, 3vw, 2.2rem); max-width: 60rem; }
#pci .area-head h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); }
#pci .area-head p { font-size: 1.08rem; color: var(--muted); }
#pci .scards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: clamp(14px, 1.8vw, 22px); }
#pci .scard { background: #fff; border-radius: 22px; padding: clamp(20px, 2.4vw, 28px); box-shadow: 0 1px 0 var(--line), 0 30px 60px -45px rgba(4, 30, 51, .55); display: grid; gap: .7rem; align-content: start; transition: transform .5s var(--ease); }
#pci .scard:hover { transform: translateY(-4px); }
#pci .scard .ic { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: var(--paper); color: var(--navy); }
#pci .scard .ic svg { width: 24px; height: 24px; }
#pci .scard h3 { font-size: 1.15rem; }
#pci .scard p { color: var(--muted); font-size: 1rem; line-height: 1.6; }
#pci .mlink { margin-top: 1.4rem; display: inline-flex; align-items: center; gap: .6rem; font-weight: 700; color: var(--orange-d); text-decoration: none; }
#pci .mlink svg { width: 18px; height: 18px; transition: transform .35s var(--ease); }
#pci .mlink:hover svg { transform: translateX(4px); }
#pci .dcards.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
#pci .dcard .ico svg { width: 24px; height: 24px; }
#pci .notes { margin-top: clamp(2rem, 4vw, 3rem); display: grid; gap: .8rem; text-align: center; max-width: 52rem; margin-inline: auto; color: var(--on); }
#pci .notes p + p { margin-top: .6rem; }
#pci .actions.center { justify-content: center; display: flex; margin-top: 1.8rem; }

/* Contatti */
#pci .hero .badge { display: inline-flex; margin-top: 1.4rem; padding: .6rem 1rem; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 179, 0, .4); color: var(--amber); font-weight: 600; font-size: .98rem; }
#pci .contact { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: clamp(18px, 3vw, 40px); align-items: start; }
#pci .contact .info { display: grid; gap: 14px; }
#pci .icard { background: #fff; border-radius: 20px; padding: 20px 22px; box-shadow: 0 1px 0 var(--line); color: var(--muted); font-size: 1rem; }
#pci .icard { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 14px; align-items: start; }
#pci .icard .ic { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: #FFF4EA; color: var(--orange-d); }
#pci .icard .ic svg { width: 20px; height: 20px; }
#pci .icard a { color: var(--navy); font-weight: 700; overflow-wrap: anywhere; }
#pci .contact .wpcf7 { margin: 0; }

@media (max-width: 980px) {
	#pci .tcard { grid-template-columns: 1fr; }
	#pci .dcards.three { grid-template-columns: 1fr; }
	#pci .contact { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	#pci .pair { grid-template-columns: 1fr; }
}

/* le pagine istituzionali a tutta larghezza: il contenuto parte sotto la testata di Kadence */
body:has(#pci) .content-area { margin-top: 0; margin-bottom: 0; }
body:has(#pci) .entry-content-wrap { padding: 0; }
