/* Blog e articoli: archivio, card editoriali, pagina singola e condivisione. */
.blog-body { background: #fbfcfb; }
.blog-body .site-header { background: rgba(255,255,255,.86); }
.blog-main { overflow: hidden; }
.blog-hero { position: relative; padding: 150px 0 62px; background: radial-gradient(circle at 75% 52%,rgba(5,148,68,.09),transparent 34%),#fbfcfb; }
.blog-hero::after { position: absolute; inset: auto -4% 4% 38%; height: 170px; background: repeating-radial-gradient(ellipse at center,transparent 0 15px,rgba(5,148,68,.07) 16px 17px,transparent 18px 29px); opacity: .55; content: ""; mask-image: linear-gradient(90deg,transparent,#000 25%,transparent); pointer-events: none; }
.blog-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; min-height: 480px; }
.blog-hero-copy { position: relative; z-index: 2; max-width: 660px; }
.blog-kicker { display: inline-flex; margin: 0 0 26px; padding: 6px 14px; border: 1px solid rgba(5,148,68,.12); border-radius: 999px; color: var(--waves-green); background: rgba(5,148,68,.05); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.blog-hero h1 { margin: 0; font-size: clamp(56px,5vw,76px); line-height: .99; letter-spacing: -.058em; }
.blog-hero h1 span { color: var(--waves-green); }
.blog-hero-copy > p:not(.blog-kicker) { max-width: 570px; margin: 32px 0 0; color: #4c5450; font-size: 20px; line-height: 1.65; }
.blog-search { display: flex; width: min(100%,570px); min-height: 64px; margin-top: 34px; overflow: hidden; border: 1px solid rgba(17,17,17,.08); border-radius: 16px; background: rgba(255,255,255,.86); box-shadow: 0 20px 55px rgba(17,17,17,.06); }
.blog-search input { flex: 1; min-width: 0; padding: 0 22px; border: 0; outline: 0; background: transparent; font: inherit; }
.blog-search button { display: grid; place-items: center; width: 64px; border: 0; color: var(--waves-green); background: transparent; cursor: pointer; }
.blog-search svg { width: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.blog-hero-art { position: relative; min-height: 440px; }
.article-glass { position: absolute; top: 44px; left: 16%; width: 62%; aspect-ratio: 1.15; padding: 52px 48px; border: 1px solid rgba(5,148,68,.22); border-radius: 34px; color: var(--waves-green); background: linear-gradient(135deg,rgba(255,255,255,.86),rgba(5,148,68,.08)); box-shadow: 0 34px 90px rgba(5,148,68,.10),inset 0 1px 0 #fff; backdrop-filter: blur(20px); transform: rotate(5deg); }
.article-glass span { font-size: 27px; font-weight: 700; }
.article-glass i { display: block; width: 58%; height: 12px; margin-top: 18px; border-radius: 8px; background: rgba(5,148,68,.13); }
.article-glass i:nth-child(3) { width: 72%; }.article-glass i:nth-child(4) { width: 43%; }
.shield-mark { position: absolute; right: 12%; bottom: 12%; display: grid; place-items: center; width: 110px; height: 126px; clip-path: polygon(50% 0,95% 17%,88% 73%,50% 100%,12% 73%,5% 17%); color: white; background: linear-gradient(145deg,#36bd72,#059444); box-shadow: inset 0 0 0 8px rgba(255,255,255,.24); font-size: 60px; }
.magnifier { position: absolute; z-index: 3; left: 6%; bottom: 30px; width: 122px; height: 122px; border: 10px solid rgba(5,148,68,.36); border-radius: 50%; background: rgba(255,255,255,.32); box-shadow: inset 0 0 22px rgba(255,255,255,.9),0 24px 48px rgba(5,148,68,.13); }
.magnifier::after { position: absolute; top: 92px; left: 92px; width: 22px; height: 105px; border-radius: 12px; background: linear-gradient(#78d59f,#059444); content: ""; transform: rotate(-43deg); transform-origin: top; }
.blog-content { padding-bottom: 120px; }
.blog-filters { display: flex; gap: 12px; padding: 17px; overflow-x: auto; border: 1px solid rgba(17,17,17,.06); border-radius: 20px; background: rgba(255,255,255,.76); box-shadow: 0 18px 50px rgba(17,17,17,.045); backdrop-filter: blur(18px); scrollbar-width: none; }
.blog-filters a { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 9px; min-height: 44px; padding: 0 17px; border: 1px solid rgba(17,17,17,.07); border-radius: 999px; font-size: 13px; font-weight: 650; white-space: nowrap; transition: color .25s ease,background .25s ease,border-color .25s ease; }
.blog-filters a.is-active,.blog-filters a:hover { border-color: rgba(5,148,68,.25); color: var(--waves-green); background: rgba(5,148,68,.08); }
.blog-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; margin-top: 38px; }
.article-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid rgba(255,255,255,.92); border-radius: 24px; background: linear-gradient(155deg,rgba(255,255,255,.82),rgba(255,255,255,.57)); box-shadow: 0 30px 76px rgba(17,17,17,.065),inset 0 1px 0 rgba(255,255,255,.96); backdrop-filter: blur(26px) saturate(155%); -webkit-backdrop-filter: blur(26px) saturate(155%); transition: transform .42s cubic-bezier(.22,.61,.36,1),box-shadow .42s ease,border-color .42s ease; }
.article-card::after { position: absolute; right: 13%; bottom: -1px; left: 13%; height: 2px; border-radius: 2px; background: linear-gradient(90deg,transparent,rgba(5,148,68,.56),transparent); content: ""; opacity: .36; transition: right .42s ease,left .42s ease,opacity .42s ease,box-shadow .42s ease; }
.article-card::before { position: absolute; z-index: 2; inset: 0 0 auto; height: 42%; background: linear-gradient(180deg,rgba(255,255,255,.20),transparent); content: ""; pointer-events: none; }
.article-card:hover { border-color: rgba(5,148,68,.18); box-shadow: 0 38px 92px rgba(17,17,17,.10),0 16px 45px rgba(5,148,68,.055),inset 0 1px 0 #fff; transform: translateY(-8px) scale(1.008); }
.article-card:hover::after { right: 4%; left: 4%; opacity: .9; box-shadow: 0 -5px 20px rgba(5,148,68,.18); }
.article-media { aspect-ratio: 1.55; overflow: hidden; background: linear-gradient(145deg,#effaf3,#d8f2e3); }
.article-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.22,.61,.36,1); }
.article-card:hover .article-media img { transform: scale(1.035); }
.article-fallback { display: grid; place-items: center; width: 100%; height: 100%; color: rgba(5,148,68,.22); font-size: 96px; font-weight: 800; }
.article-body { display: flex; flex-direction: column; min-height: 325px; padding: 22px; }
.article-category { align-self: flex-start; display: inline-flex; padding: 4px 10px; border: 1px solid rgba(5,148,68,.20); border-radius: 999px; color: var(--waves-green); background: rgba(5,148,68,.055); font-size: 10px; font-weight: 750; }
.article-body h3 { margin: 15px 0 10px; font-size: 20px; line-height: 1.28; letter-spacing: -.025em; }
.article-body p { margin: 0; color: #626964; font-size: 14px; line-height: 1.65; }
.article-meta { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 22px; color: #717772; font-size: 11px; }
.article-meta strong { color: var(--waves-green); }
.blog-pagination { display: flex; justify-content: center; gap: 8px; margin-top: 48px; }
.blog-pagination .page-numbers { display: grid; place-items: center; min-width: 46px; height: 46px; padding: 0 15px; border: 1px solid rgba(17,17,17,.07); border-radius: 12px; background: #fff; font-size: 13px; }
.blog-pagination .current { color: white; border-color: var(--waves-green); background: var(--waves-green); }
.blog-empty { margin: 40px 0; padding: 60px; border: 1px solid rgba(17,17,17,.06); border-radius: 24px; text-align: center; background: #fff; }
.resources-hub-content { padding: 48px 0 120px; }
.resources-main-card { display:grid; grid-template-columns:82px minmax(0,1fr) auto; gap:30px; align-items:center; padding:34px 38px; border:1px solid rgba(5,148,68,.12); border-radius:28px; color:#111; background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.66)); box-shadow:0 28px 80px rgba(17,17,17,.065),inset 0 1px 0 rgba(255,255,255,.9); backdrop-filter:blur(24px) saturate(145%); transition:transform .35s cubic-bezier(.22,.61,.36,1),border-color .35s ease,box-shadow .35s ease; }
.resources-main-card:hover { transform:translateY(-5px); border-color:rgba(5,148,68,.24); box-shadow:0 34px 90px rgba(17,17,17,.08),0 18px 44px rgba(5,148,68,.08),inset 0 1px 0 rgba(255,255,255,.95); }
.resources-card-icon { display:grid; place-items:center; width:70px; height:70px; border:1px solid rgba(5,148,68,.16); border-radius:22px; color:var(--waves-green); background:rgba(5,148,68,.06); font-size:34px; font-weight:700; }
.resources-main-card strong { display:block; margin-bottom:10px; font-size:clamp(26px,2.4vw,38px); letter-spacing:-.04em; }
.resources-main-card small { display:block; max-width:720px; color:#4c5450; font-size:18px; line-height:1.55; }
.resources-main-card em { justify-self:end; color:var(--waves-green); font-size:15px; font-style:normal; font-weight:800; white-space:nowrap; }
.resources-priority { margin-top:72px; }
.resources-priority-heading { display:grid; grid-template-columns:minmax(180px,.42fr) minmax(0,1fr); gap:48px; align-items:end; padding-bottom:28px; border-bottom:1px solid rgba(17,17,17,.12); }
.resources-priority-heading p { margin:0 0 8px; color:var(--waves-green); font-size:13px; font-weight:800; text-transform:uppercase; }
.resources-priority-heading h2 { max-width:760px; margin:0; color:#111; font-size:clamp(34px,3.7vw,52px); line-height:1.08; letter-spacing:0; text-wrap:balance; }
.resources-priority-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.resources-priority-group { min-width:0; padding:30px 30px 8px 0; }
.resources-priority-group + .resources-priority-group { padding-left:30px; border-left:1px solid rgba(17,17,17,.1); }
.resources-priority-group h3 { margin:0 0 16px; color:#111; font-size:20px; letter-spacing:0; }
.resources-priority-group a { display:flex; gap:14px; justify-content:space-between; align-items:flex-start; min-height:58px; padding:14px 0; border-top:1px solid rgba(17,17,17,.08); color:#39413d; font-size:15px; font-weight:650; line-height:1.45; transition:color .2s ease; }
.resources-priority-group a:hover { color:var(--waves-green); }
.resources-priority-group a span { flex:0 0 auto; color:var(--waves-green); }
.resources-future { display:grid; grid-template-columns:170px 1fr; gap:24px; align-items:center; margin-top:26px; padding:24px 30px; border:1px solid rgba(17,17,17,.06); border-radius:24px; background:rgba(255,255,255,.66); box-shadow:0 18px 50px rgba(17,17,17,.045); }
.resources-future p { margin:0; color:var(--waves-green); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.resources-future div { display:flex; flex-wrap:wrap; gap:10px; }
.resources-future span { display:inline-flex; align-items:center; min-height:38px; padding:0 15px; border:1px solid rgba(5,148,68,.12); border-radius:999px; color:#3f4743; background:rgba(255,255,255,.72); font-size:13px; font-weight:650; }

.single-article { position: relative; padding: 110px 0 140px; overflow: hidden; background: radial-gradient(circle at 86% 12%,rgba(5,148,68,.07),transparent 28%),#f9fbfa; }
.single-article::before { position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(5,148,68,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(5,148,68,.035) 1px,transparent 1px); background-size: 96px 96px; content: ""; pointer-events: none; mask-image: linear-gradient(#000,transparent 38%); }
.single-hero { position: relative; z-index: 1; padding: 80px 0 64px; }.single-hero-inner { max-width: 1040px; }.single-back { display: inline-flex; margin-bottom: 36px; color: var(--waves-green); font-size: 14px; font-weight: 700; }.single-hero .article-category { margin-bottom: 22px; }.single-hero h1 { max-width: 1000px; margin: 0; font-size: clamp(48px,5vw,74px); line-height: 1.03; letter-spacing: -.052em; text-wrap: balance; }.single-excerpt { max-width: 820px; margin: 30px 0 0; color: #59605c; font-size: 21px; line-height: 1.65; }.single-meta { display: flex; gap: 20px; margin-top: 28px; color: #717772; font-size: 13px; }.single-cover { position: relative; z-index: 1; max-width: 1280px; padding: 10px; overflow: hidden; border: 1px solid rgba(255,255,255,.86); border-radius: 32px; background: rgba(255,255,255,.54); box-shadow: 0 36px 90px rgba(17,17,17,.09); backdrop-filter: blur(24px); }.single-cover img { display: block; width: 100%; max-height: 680px; border-radius: 24px; object-fit: cover; }.single-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,800px) 300px; justify-content: center; gap: 80px; padding-top: 80px; }.single-content { padding: 56px 64px; border: 1px solid rgba(255,255,255,.90); border-radius: 28px; color: #303532; background: rgba(255,255,255,.68); box-shadow: 0 30px 86px rgba(17,17,17,.06),inset 0 1px 0 #fff; backdrop-filter: blur(24px) saturate(150%); font-size: 19px; line-height: 1.85; }.single-content > *:first-child { margin-top: 0; }.single-content h2 { margin: 62px 0 20px; color: #111; font-size: 38px; line-height: 1.15; letter-spacing: -.035em; }.single-content h3 { margin-top: 42px; color: #111; font-size: 27px; }.single-content img { height: auto; border-radius: 18px; }.single-content a { color: var(--waves-green); text-decoration: underline; text-underline-offset: 3px; }.single-content blockquote { margin: 38px 0; padding: 24px 28px; border-left: 3px solid var(--waves-green); border-radius: 0 18px 18px 0; background: rgba(5,148,68,.055); }.single-aside > div { position: sticky; top: 110px; padding: 30px; border: 1px solid rgba(255,255,255,.92); border-radius: 24px; background: rgba(255,255,255,.70); box-shadow: 0 24px 70px rgba(17,17,17,.06),inset 0 1px 0 #fff; backdrop-filter: blur(22px); }.single-aside strong { font-size: 20px; }.single-aside p { color: #626964; font-size: 14px; }.single-aside .btn { width: 100%; margin-top: 10px; }
.article-share-panel { position: fixed; z-index: 40; right: 28px; bottom: 28px; width: 320px; padding: 26px; border: 1px solid rgba(255,255,255,.92); border-radius: 24px; background: rgba(255,255,255,.78); box-shadow: 0 30px 90px rgba(17,17,17,.14),inset 0 1px 0 #fff; backdrop-filter: blur(28px) saturate(165%); -webkit-backdrop-filter: blur(28px) saturate(165%); opacity: 0; pointer-events: none; transform: translateY(24px) scale(.97); transition: opacity .35s cubic-bezier(.22,.61,.36,1),transform .35s cubic-bezier(.22,.61,.36,1); }
.article-share-panel.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }.share-close { position: absolute; top: 15px; right: 15px; display: grid; place-items: center; width: 34px; height: 34px; border: 0; border-radius: 50%; color: #5d635f; background: rgba(17,17,17,.045); font-size: 20px; cursor: pointer; }.share-eyebrow { color: var(--waves-green); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.article-share-panel h2 { margin: 13px 34px 6px 0; font-size: 24px; line-height: 1.15; letter-spacing: -.035em; }.article-share-panel p { margin: 0; color: #686e6a; font-size: 14px; }.share-actions { display: flex; gap: 9px; margin-top: 21px; }.share-actions a,.share-actions button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(5,148,68,.18); border-radius: 50%; color: var(--waves-green); background: rgba(255,255,255,.72); font: 750 14px/1 inherit; cursor: pointer; transition: color .25s ease,background .25s ease,transform .25s ease; }.share-actions a:hover,.share-actions button:hover { color: #fff; background: var(--waves-green); transform: translateY(-2px); }.share-feedback { display: block; min-height: 18px; margin-top: 10px; color: var(--waves-green); font-size: 11px; }

@media (max-width:1100px) { .blog-grid { grid-template-columns: repeat(2,1fr); }.blog-hero-grid { grid-template-columns: 1fr 1fr; }.single-layout { grid-template-columns: minmax(0,760px); }.single-aside { display: none; } }
@media (max-width:700px) { .blog-hero { padding: 120px 0 34px; }.blog-hero-grid { display: flex; flex-direction: column; min-height: 0; }.blog-hero h1 { font-size: 46px; }.blog-hero-copy > p:not(.blog-kicker) { font-size: 18px; }.blog-hero-art { width: 100%; min-height: 320px; margin-top: 28px; }.article-glass { left: 15%; width: 72%; padding: 34px 28px; }.shield-mark { width: 75px; height: 86px; font-size: 40px; }.magnifier { width: 84px; height: 84px; }.magnifier::after { top: 63px; left: 63px; height: 75px; }.blog-filters { margin-inline: -20px; border-radius: 0; }.blog-grid { grid-template-columns: 1fr; gap: 20px; }.article-body { min-height: 290px; }.resources-main-card { grid-template-columns:1fr; padding:30px 24px; }.resources-main-card em { justify-self:start; }.resources-priority { margin-top:52px; }.resources-priority-heading { grid-template-columns:1fr; gap:6px; }.resources-priority-heading h2 { font-size:34px; }.resources-priority-grid { grid-template-columns:1fr; }.resources-priority-group { padding:28px 0 0; }.resources-priority-group + .resources-priority-group { padding-left:0; border-left:0; }.resources-priority-group a { min-height:52px; }.resources-future { grid-template-columns:1fr; padding:24px; }.single-article { padding-top: 86px; }.single-hero { padding: 52px 0 40px; }.single-hero h1 { font-size: 43px; }.single-excerpt { font-size: 18px; }.single-cover { width: calc(100% - 40px); padding: 6px; border-radius: 22px; }.single-cover img { border-radius: 17px; }.single-layout { padding-top: 48px; }.single-content { padding: 32px 24px; border-radius: 22px; font-size: 17px; line-height: 1.75; }.single-content h2 { font-size: 31px; }.article-share-panel { right: 16px; bottom: 16px; left: 16px; width: auto; } }
@media (prefers-reduced-motion:reduce) { .article-card,.article-media img { transition: none; } }

/* Revision 03 — editorial article system */
.single-article { padding:0 0 120px; overflow:visible; }
.single-hero { position:relative; display:flex; align-items:flex-end; min-height:clamp(620px,82svh,860px); padding:150px 0 80px; overflow:hidden; color:#111; background:linear-gradient(135deg,#f7faf8,#eef6f1); background-position:center; background-size:cover; }
.single-hero.has-cover { color:#fff; background-image:var(--article-cover); }
.single-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(7,16,11,.88) 0%,rgba(7,16,11,.64) 52%,rgba(7,16,11,.18) 100%),linear-gradient(180deg,rgba(7,16,11,.12),rgba(7,16,11,.72)); opacity:0; }
.single-hero.has-cover .single-hero-shade { opacity:1; }
.single-hero-inner { position:relative; z-index:2; width:min(calc(100% - 48px),1280px); max-width:1280px; }
.single-back { min-height:54px; margin-bottom:40px; padding:0 22px; align-items:center; border:1px solid currentColor; border-radius:16px; color:var(--waves-green); background:rgba(255,255,255,.78); box-shadow:0 14px 34px rgba(0,0,0,.08); backdrop-filter:blur(18px); font-size:16px; }
.single-hero.has-cover .single-back { border-color:rgba(255,255,255,.6); color:#fff; background:rgba(255,255,255,.14); }
.single-hero .article-category { border-color:rgba(255,255,255,.45); color:inherit; background:rgba(255,255,255,.14); backdrop-filter:blur(16px); }
.single-hero h1 { max-width:1100px; font-size:clamp(58px,6vw,88px); line-height:.98; }
.single-excerpt { max-width:900px; color:rgba(17,17,17,.68); font-size:22px; line-height:1.58; }
.single-hero.has-cover .single-excerpt,.single-hero.has-cover .single-meta { color:rgba(255,255,255,.82); }
.single-meta .article-category { align-self:center; margin:0; color:inherit; border-color:currentColor; background:rgba(255,255,255,.12); font-size:11px; }
.single-layout { display:block; width:min(calc(100% - 48px),1180px); padding-top:72px; }
.single-content { width:100%; padding:72px clamp(46px,6vw,96px); border-radius:30px; font-size:20px; line-height:1.78; }
.single-content p { margin:0 0 1.45em; }.single-content p:empty { display:none; }
.single-content>p,.single-content .article-lead>p { text-align:justify; text-wrap:pretty; hyphens:auto; -webkit-hyphens:auto; }
.single-content h2 { margin:2.15em 0 .7em; font-size:clamp(36px,3.5vw,50px); line-height:1.08; }.single-content h3 { margin:1.8em 0 .65em; font-size:30px; line-height:1.15; }
.single-content ul,.single-content ol { margin:1.2em 0 1.7em; padding-left:1.4em; }.single-content li { margin:.5em 0; }
.article-summary,.article-toc,.article-inline-cta { margin:38px 0; padding:28px 30px; border:1px solid rgba(5,148,68,.13); border-radius:22px; background:linear-gradient(135deg,rgba(5,148,68,.055),rgba(255,255,255,.72)); box-shadow:inset 0 1px 0 rgba(255,255,255,.9); }
.single-content .article-summary h2,.single-content .article-inline-cta h2 { margin:0 0 14px; font-size:28px; }.article-summary ul { margin-bottom:0; }.article-toc>strong { display:block; margin-bottom:14px; color:#111; font-size:20px; }.article-toc ol { margin-bottom:0; }
.article-table-wrap { margin:34px 0; overflow-x:auto; border:1px solid rgba(17,17,17,.08); border-radius:18px; }.article-comparison { width:100%; border-collapse:collapse; font-size:16px; line-height:1.5; }.article-comparison th,.article-comparison td { padding:18px 20px; border-bottom:1px solid rgba(17,17,17,.07); text-align:left; vertical-align:top; }.article-comparison th { color:#111; background:rgba(5,148,68,.07); }.article-comparison tr:last-child td { border-bottom:0; }
.article-inline-cta .btn { display:inline-flex; margin-top:6px; text-decoration:none; }.article-faq details { margin:12px 0; padding:20px 22px; border:1px solid rgba(17,17,17,.08); border-radius:16px; background:rgba(255,255,255,.7); }.article-faq summary { color:#111; font-weight:700; cursor:pointer; }.article-faq details p { margin:14px 0 0; }.article-source-note { margin-top:44px!important; padding-top:22px; border-top:1px solid rgba(17,17,17,.08); color:#6d746f; font-size:14px; }
.article-key-callout { margin:34px 0; padding:24px 28px; border:1px solid rgba(5,148,68,.16); border-left:4px solid #059444; border-radius:0 18px 18px 0; background:linear-gradient(90deg,rgba(5,148,68,.075),rgba(255,255,255,.72)); color:#303632; font-size:18px; line-height:1.65; }
.article-checklist { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:28px 0 38px!important; padding:0!important; list-style:none!important; }
.single-content .article-checklist li { position:relative; margin:0; padding:18px 18px 18px 48px; border:1px solid rgba(5,148,68,.12); border-radius:16px; background:rgba(255,255,255,.74); box-shadow:0 14px 34px rgba(17,17,17,.035); }
.single-content .article-checklist li::before { content:'✓'; position:absolute; top:17px; left:18px; display:grid; width:21px; height:21px; place-items:center; border-radius:50%; background:rgba(5,148,68,.1); color:#059444; font-size:12px; font-weight:800; }
.article-error-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:26px 0 40px; }
.article-error-item { display:flex; align-items:flex-start; gap:14px; padding:19px 20px; border:1px solid rgba(17,17,17,.075); border-radius:16px; background:rgba(255,255,255,.72); }
.article-error-item>span { flex:0 0 24px; display:grid; width:24px; height:24px; place-items:center; border-radius:50%; background:rgba(5,148,68,.09); color:#059444; font-size:13px; font-weight:800; }
.single-content .article-error-item p { margin:0; text-align:left; font-size:16px; line-height:1.55; }
.article-related-links { margin:38px 0 0; padding:26px 30px; border:1px solid rgba(17,17,17,.08); border-radius:20px; background:rgba(255,255,255,.72); }
.single-content .article-related-links h2 { margin:0 0 14px; font-size:25px; }.article-related-links ul { margin-bottom:0; }
.article-feature-box { margin:28px 0 38px; padding:26px 28px; overflow:hidden; border:1px solid rgba(5,148,68,.14); border-radius:22px; background:linear-gradient(135deg,rgba(255,255,255,.86),rgba(5,148,68,.045)); box-shadow:0 20px 55px rgba(17,17,17,.045),inset 0 1px 0 rgba(255,255,255,.92); }
.single-content .article-feature-box h3 { margin:0 0 18px; font-size:25px; }.article-feature-box .article-checklist { margin-bottom:0!important; }
.article-summary-list { margin-bottom:0!important; }.article-summary-list li::marker { color:#059444; }
.single-content figure { max-width:none; margin:42px 0; }.single-content figcaption { margin-top:10px; color:#737a75; font-size:13px; text-align:center; }
.single-aside,.single-cover { display:none; }
.article-share-panel,.article-project-panel { position:fixed; z-index:65; right:28px; bottom:28px; width:min(430px,calc(100vw - 56px)); padding:38px; border:1px solid rgba(255,255,255,.88); border-radius:30px; background:rgba(255,255,255,.82); box-shadow:0 34px 100px rgba(17,17,17,.15),inset 0 1px 0 #fff; backdrop-filter:blur(30px) saturate(165%); -webkit-backdrop-filter:blur(30px) saturate(165%); opacity:0; visibility:hidden; pointer-events:none; transform:translateY(24px) scale(.98); transition:opacity .35s cubic-bezier(.22,.61,.36,1),transform .35s cubic-bezier(.22,.61,.36,1),visibility .35s; }
.article-share-panel.is-visible,.article-project-panel.is-visible { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
.article-share-panel h2,.article-project-panel h2 { max-width:340px; margin:18px 42px 10px 0; font-size:clamp(30px,3vw,40px); line-height:1.05; letter-spacing:-.045em; }
.article-share-panel p,.article-project-panel p { margin:0; color:#666d68; font-size:17px; line-height:1.55; }
.apple-close { position:absolute; top:22px; left:22px; width:16px; height:16px; padding:0; border:1px solid rgba(134,30,18,.22); border-radius:50%; background:#ff5f57; box-shadow:inset 0 -1px 1px rgba(0,0,0,.12); cursor:pointer; }
.share-eyebrow { display:block; margin-top:26px; }
.share-actions { gap:12px; margin-top:26px; }.share-actions a,.share-actions button { width:52px; height:52px; font-size:16px; }
.article-project-panel { right:50%; width:min(560px,calc(100vw - 56px)); transform:translate(50%,24px) scale(.98); }.article-project-panel.is-visible { transform:translateX(50%); }
.article-project-cta { display:inline-flex; align-items:center; justify-content:space-between; gap:34px; min-height:56px; margin-top:28px; padding:0 24px; border:1px solid var(--waves-green); border-radius:16px; color:var(--waves-green); font-weight:750; }.article-project-cta:hover { color:#fff; background:var(--waves-green); }
.single-content { min-width:0; }
.single-content h2 { max-width:100%; font-size:clamp(34px,3.1vw,48px); overflow-wrap:anywhere; word-break:normal; text-wrap:balance; }
.single-content h3,.single-content p,.single-content li,.single-content a,.single-content summary,.single-content strong,.single-content em { max-width:100%; overflow-wrap:anywhere; word-break:normal; }
.single-content .article-formula { margin:1.75em auto; text-align:center!important; text-align-last:center!important; font-size:clamp(25px,2.2vw,34px); letter-spacing:0; }
@media(max-width:700px) { .single-article { padding-bottom:80px; }.single-hero { min-height:650px; padding:125px 0 54px; }.single-hero h1 { font-size:44px; }.single-back { min-height:52px; margin-bottom:30px; font-size:15px; }.single-layout { width:calc(100% - 32px); padding-top:32px; }.single-content { padding:34px 24px; font-size:17px; line-height:1.72; }.single-content h2 { font-size:32px; }.single-content h3 { font-size:25px; }.article-checklist,.article-error-grid { grid-template-columns:1fr; }.article-summary,.article-toc,.article-inline-cta,.article-related-links { padding:22px; }.article-comparison th,.article-comparison td { padding:14px 15px; }.article-share-panel,.article-project-panel { right:16px; bottom:16px; left:16px; width:auto; padding:32px 26px; }.article-project-panel,.article-project-panel.is-visible { transform:translateY(0); }.share-actions { flex-wrap:wrap; } }
@media(prefers-reduced-motion:reduce) { .article-share-panel,.article-project-panel { transition:none!important; } }

@media (min-width:701px) {
  .blog-filters { flex-wrap: wrap; overflow-x: visible; }
  .blog-filters a { flex: 0 1 auto; }
}

/* Resources hero image supplied with the 2026 editorial system. */
.blog-hero-grid { isolation:isolate; }
.blog-hero-art { position:absolute; z-index:0; inset:0; min-height:0; overflow:hidden; pointer-events:none; }
.blog-hero-art::after { position:absolute; inset:0; background:linear-gradient(90deg,rgba(251,252,251,.99) 0%,rgba(251,252,251,.95) 34%,rgba(251,252,251,.48) 56%,rgba(251,252,251,.04) 82%); content:""; }
.blog-hero-art img { display:block; width:100%; height:100%; opacity:.86; filter:brightness(1.04) contrast(.96) saturate(.88); object-fit:cover; object-position:center; }
.blog-hero-copy { z-index:2; }
@media (max-width:700px) {
  .blog-hero-art { position:absolute; inset:0; width:auto; min-height:0; margin:0; }
  .blog-hero-art::after { background:linear-gradient(180deg,rgba(251,252,251,.98),rgba(251,252,251,.86) 70%,rgba(251,252,251,.65)); }
  .blog-hero-art img { opacity:.55; object-position:68% center; }
}

/* Revision 04 — hub editoriale e filtri per argomento. */
.resources-feature-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.resources-feature-grid.is-single { grid-template-columns:1fr; }
.resources-feature-grid .resources-main-card { grid-template-columns:68px minmax(0,1fr); align-content:start; gap:22px; min-height:270px; padding:32px; }
.resources-feature-grid .resources-main-card em { grid-column:2; justify-self:start; }
.resources-main-card--cra { border-color:rgba(5,148,68,.22); background:linear-gradient(145deg,rgba(5,148,68,.08),rgba(255,255,255,.82)); }
.resources-priority-grid { grid-template-columns:repeat(auto-fit,minmax(235px,1fr)); gap:0 28px; }
.resources-priority-group,.resources-priority-group + .resources-priority-group { padding:30px 0 8px; border-left:0; }
.blog-topic-select { display:none; }
@media (min-width:1101px) { .blog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }

@media (max-width:700px) {
  .resources-hero { padding:104px 0 26px; }
  .resources-hero h1 { font-size:40px; }
  .resources-hero .blog-hero-copy > p:not(.blog-kicker) { margin-top:22px; font-size:16px; line-height:1.55; }
  .resources-feature-grid { grid-template-columns:1fr; gap:16px; }
  .resources-feature-grid .resources-main-card { grid-template-columns:56px minmax(0,1fr); gap:17px; min-height:0; padding:24px 22px; }
  .resources-feature-grid .resources-card-icon { width:54px; height:54px; border-radius:17px; font-size:27px; }
  .resources-feature-grid .resources-main-card strong { font-size:26px; }
  .resources-feature-grid .resources-main-card small { font-size:16px; line-height:1.5; }
  .resources-feature-grid .resources-main-card em { grid-column:1 / -1; }
  .resources-priority { margin-top:44px; }
  .resources-priority-heading h2 { font-size:31px; }
  .blog-filters { display:none; }
  .blog-topic-select { display:block; margin:0 0 24px; padding:20px; border:1px solid rgba(17,17,17,.07); border-radius:18px; background:#fff; box-shadow:0 16px 42px rgba(17,17,17,.05); }
  .blog-topic-select label { display:block; margin-bottom:10px; color:#38403b; font-size:13px; font-weight:750; }
  .blog-topic-select div { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; }
  .blog-topic-select select,.blog-topic-select button { min-height:50px; border:1px solid rgba(17,17,17,.1); border-radius:13px; background:#fff; font:inherit; }
  .blog-topic-select select { min-width:0; padding:0 14px; color:#252a27; }
  .blog-topic-select button { padding:0 17px; border-color:var(--waves-green); color:#fff; background:var(--waves-green); font-weight:750; }
  .article-media { aspect-ratio:16/9; }
  .article-body { min-height:250px; }
  .article-body h3 { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
  .article-body p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
}
