@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(fonts/inter-variable.woff2) format('woff2')}
@font-face{font-family:Poppins;font-weight:400;font-display:swap;src:url(fonts/poppins-latin-400.woff) format('woff')}
@font-face{font-family:Poppins;font-weight:600;font-display:swap;src:url(fonts/poppins-latin-600.woff) format('woff')}
:root{--cam-ink:#064B5A;--cam-primary:#064B5A;--cam-positive:#22C55E;--cam-positive-soft:#A7F3D0;--cam-surface:#F1F5F9;--cam-link:#2563EB;--cam-attention:#F59E0B;--cam-white:#FFFFFF;--cam-muted:#475569;--cam-radius:22px;--cam-gap:24px;--cam-reading:800px}
.cam-site{margin:0;background:var(--cam-white);color:var(--cam-ink);font:16px/1.65 Inter,system-ui,-apple-system,sans-serif;color-scheme:light}
.cam-site [hidden]{display:none!important}.cam-header :where(button),.cam-prose :where(button,input,select,textarea),.cam-search input{font:inherit}.cam-site :where(img,svg){max-width:100%}
.cam-header,.cam-footer,.cam-container,.cam-tool-breadcrumb,.cam-callout,.cam-card,.cam-ad,.cam-media,.cam-hero-panel{box-sizing:border-box}
.cam-header a,.cam-footer a,.cam-container a,.cam-tool-breadcrumb a{color:var(--cam-ink);text-underline-offset:.22em}
.cam-site :focus-visible{outline:3px solid var(--cam-link);outline-offset:4px}
.cam-container{max-width:1240px;margin:auto;padding:40px 28px 64px;min-height:50vh}.cam-reading{max-width:var(--cam-reading);margin-inline:auto}
.cam-header{border-bottom:1px solid #e2e8f0;background:white;padding-top:env(safe-area-inset-top);position:relative;z-index:30}
.cam-header-inner{max-width:1380px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:18px 28px}
.cam-brand{display:block;flex-shrink:0;width:205px;max-width:65%}.cam-brand img{display:block;width:100%;height:auto}
.cam-menu{list-style:none;display:flex;align-items:center;gap:18px;padding:0;margin:0}.cam-menu>li{position:relative}
.cam-menu a,.cam-nav-group summary{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-weight:600;font-size:.85rem;cursor:pointer;white-space:nowrap}
.cam-nav-group summary{gap:7px;list-style:none}.cam-nav-group summary::-webkit-details-marker{display:none}.cam-nav-group summary::after{content:'⌄';font-size:1rem}.cam-nav-group[open] summary::after{transform:rotate(180deg)}
.cam-nav-group>ul,.cam-custom-menu .sub-menu{list-style:none;position:absolute;top:100%;left:0;min-width:250px;margin:8px 0 0;padding:16px;background:white;border:1px solid #cbd5e1;border-radius:12px}
.cam-nav-group ul a{display:flex;white-space:normal;padding:5px 8px}.cam-menu a:hover,.cam-current>details>summary,.cam-menu [aria-current],.current-menu-item>a{text-decoration:underline}
.cam-account-link{padding:4px 14px;border:1px solid #cbd5e1;border-radius:10px}.cam-nav-toggle,.cam-sub-toggle{border:1px solid #cbd5e1;border-radius:10px;background:white;color:var(--cam-ink);padding:8px 12px;min-height:44px;cursor:pointer}.cam-sub-toggle{padding:4px;min-width:32px}
.cam-container :where(h1,h2,h3),.cam-footer h2,.cam-callout :where(h2,h3){font-family:Poppins,Inter,sans-serif;font-weight:600;line-height:1.22;letter-spacing:-.035em;color:var(--cam-ink)}
.cam-container h1{font-size:clamp(2rem,4.5vw,3.2rem);margin:.5em 0}.cam-container h2{font-size:clamp(1.4rem,2.5vw,2rem);margin:1.8em 0 .7em}.cam-container h3{font-size:1.2rem;margin:.25em 0 .7em}
.cam-container :where(p,li){overflow-wrap:anywhere}.cam-container p{margin:.8em 0 1.2em}.cam-container section{margin-bottom:64px}
.cam-eyebrow{display:inline-block;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.cam-intro{font-size:1.15rem;max-width:720px}.cam-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:5px 10px;background:var(--cam-positive-soft);border-radius:6px}
.cam-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:26px 0}
.cam-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 20px;box-sizing:border-box;background:var(--cam-primary);color:white!important;border:1px solid var(--cam-primary);border-radius:12px;text-decoration:none;font:600 .95rem Inter,sans-serif;text-align:center;cursor:pointer}
.cam-button:hover{background:#073f4b}.cam-button-secondary{background:white;color:var(--cam-ink)!important;border-color:#cbd5e1}.cam-button-secondary:hover{background:var(--cam-surface)}.cam-text-link{font-size:.95rem;font-weight:600;display:inline-flex;align-items:center;min-height:44px}
/* Keep imported 1.0/custom Home markup readable before explicit editorial update. */
.cam-hero{padding:52px 46px;background:var(--cam-surface);border-radius:var(--cam-radius);position:relative}.cam-hero::before{content:'';display:block;width:48px;height:6px;background:var(--cam-positive);margin-bottom:28px;border-radius:3px}.cam-hero h1{max-width:760px}.cam-hero>p{max-width:620px;font-size:1.15rem}.cam-hero .cam-note{font-size:.9rem}
.cam-js [data-cam-hero]:not(.cam-hero-enhanced) [data-cam-panel]:not(#cam-hero-0){display:none}
.cam-hero-switch{border-radius:var(--cam-radius);background:var(--cam-surface);overflow:hidden}.cam-hero-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:14px 22px;border-bottom:1px solid #d8e1e8}.cam-hero-tabs a{display:flex;align-items:center;gap:9px;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:600;font-size:.9rem;min-height:44px;box-sizing:border-box}.cam-hero-tabs [aria-selected=true]{background:var(--cam-ink);color:white}.cam-hero-tabs .cam-icon{width:21px;height:21px}
.cam-hero-panel{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:38px;align-items:center;min-height:480px}.cam-hero-copy h2{font-size:clamp(2rem,3.6vw,3rem);margin:.4em 0;max-width:560px}.cam-hero-copy>p{font-size:1.07rem}.cam-hero-copy .cam-note{font-size:.82rem}
.cam-media{background:var(--cam-positive-soft);overflow:hidden;position:relative;aspect-ratio:3/2;border-radius:16px;min-width:0}.cam-media img{display:block;width:100%;height:100%;object-fit:cover}.cam-hero-visual{height:370px;aspect-ratio:auto;border-radius:16px}.cam-visual-label{position:absolute;bottom:16px;left:16px;right:16px;padding:12px 14px;background:white;color:var(--cam-ink);font-size:.8rem;font-weight:600;border-radius:10px}
.cam-media-unavailable::after{content:'Immagine non disponibile';position:absolute;inset:0;display:grid;place-items:center;color:var(--cam-ink);font-size:.8rem}.cam-media-empty{padding:24px;display:block}
.cam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--cam-gap)}.cam-three{grid-template-columns:repeat(3,minmax(0,1fr))}.cam-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.cam-card,.cam-pillar-card{padding:26px;background:var(--cam-surface);border-radius:var(--cam-radius);min-width:0}.cam-pillar-card{background:white;border:1px solid #d8e1e8}.cam-pillar-card .cam-icon{display:block;margin-bottom:22px;width:32px;height:32px}.cam-pillar-card p{font-size:.9rem}.cam-pillar-card:nth-child(2){background:var(--cam-surface)}.cam-pillar-card:nth-child(4){background:var(--cam-positive-soft);border-color:transparent}
.cam-card h2{font-size:1.3rem;margin:0 0 12px}.cam-card p{font-size:.95rem}.cam-card img{width:100%;height:auto;border-radius:12px}
.cam-tool-card{border-top:2px solid var(--cam-positive);padding:22px 0;display:flex;align-items:flex-start;gap:16px}.cam-tool-card .cam-icon{flex-shrink:0;background:var(--cam-surface);padding:12px;border-radius:12px;box-sizing:content-box}.cam-tool-card h3{font-size:1.08rem}.cam-tool-card p{font-size:.88rem;margin:.5em 0}
.cam-article-card{border-radius:var(--cam-radius);overflow:hidden;background:var(--cam-surface);min-width:0}.cam-article-card .cam-media{display:block;border-radius:0}.cam-card-copy{padding:24px}.cam-card-copy h3,.cam-card-copy h2{font-size:1.25rem;margin:18px 0 12px}.cam-card-copy h3 a,.cam-card-copy h2 a{text-decoration:none}.cam-card-copy p{font-size:.92rem}.cam-card-copy .cam-note{font-size:.75rem}
.cam-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.cam-section-heading h2{margin:0}.cam-section-heading .cam-eyebrow{margin-bottom:10px}.cam-section-heading>a{flex-shrink:0}
.cam-pv-feature{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:34px;border-radius:var(--cam-radius);background:var(--cam-surface)}.cam-pv-feature h2{margin:.5em 0}.cam-pv-feature .cam-media{aspect-ratio:1/1}
.cam-callout{padding:28px;border-radius:var(--cam-radius);background:var(--cam-positive-soft);margin:32px 0}.cam-callout h2{margin:0 0 12px}.cam-method-strip{display:grid;grid-template-columns:1fr 1.25fr;align-items:center;gap:40px;background:var(--cam-positive-soft);padding:34px;border-radius:var(--cam-radius)}.cam-method-strip h2{margin:0}.cam-method-strip ul{padding-left:20px}.cam-final-cta{text-align:center;padding:20px 0}.cam-final-cta h2{margin:.5em 0}.cam-final-cta .cam-actions{justify-content:center}
.cam-note{font-size:.875rem;color:var(--cam-muted)}.cam-cluster-links{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 48px}.cam-cluster-links a{padding:8px 16px;min-height:44px;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:10px;text-decoration:none}.cam-hub-section{scroll-margin-top:24px}.cam-hub-section .cam-section-heading{align-items:start}.cam-next-step{padding-top:20px;margin-top:32px;border-top:1px solid #cbd5e1}
.cam-prose{font-size:1.05rem}.cam-prose>ul,.cam-prose>ol{padding-left:24px}.cam-prose table{max-width:100%;border-collapse:collapse;display:block;overflow-x:auto}.cam-prose :where(td,th){padding:12px;text-align:left;border-bottom:1px solid #cbd5e1}.cam-prose>blockquote{margin:24px 0;padding:14px 24px;background:var(--cam-surface);border-left:4px solid var(--cam-positive)}
.cam-prose details{background:var(--cam-surface);padding:16px 20px;border-radius:12px;margin:24px 0}.cam-prose summary{font-weight:600;cursor:pointer;min-height:44px}.cam-prose img{max-width:100%;height:auto}.cam-prose h2[id]{scroll-margin-top:24px}.cam-prose .cam-toc{font-size:.9rem}.cam-toc li{margin:8px 0}.cam-prose .cam-four{grid-template-columns:repeat(2,minmax(0,1fr))}
.cam-breadcrumb{font-size:.85rem;margin-bottom:28px}.cam-breadcrumb ol{display:flex;flex-wrap:wrap;list-style:none;gap:8px;margin:0;padding:0}.cam-breadcrumb li+li::before{content:' / ';color:var(--cam-muted);margin-right:8px}
.cam-article-layout{max-width:1000px}.cam-article-heading{max-width:850px;margin-bottom:32px}.cam-article-figure{margin:0 0 40px}.cam-article-figure .cam-media{aspect-ratio:2/1}.cam-article-figure figcaption{padding-top:10px}.cam-page-heading{margin-bottom:32px}.cam-pillar-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:center;padding-bottom:32px;border-bottom:1px solid #cbd5e1}.cam-pillar-heading h1{font-size:clamp(1.9rem,3.4vw,2.8rem)}
.cam-search{margin:28px 0}.cam-search label{display:block;font-weight:600;margin-bottom:8px}.cam-search>div{display:flex;gap:10px}.cam-search input{min-width:0;width:100%;padding:12px;border:1px solid #94a3b8;border-radius:12px;font:inherit}
.cam-footer{padding:52px 0 max(28px,env(safe-area-inset-bottom));border-top:1px solid #e2e8f0;background:var(--cam-surface)}.cam-footer .cam-container{min-height:0;padding-top:0;padding-bottom:0}.cam-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:36px}.cam-footer h2{font-size:1rem;margin:0 0 20px}.cam-footer p,.cam-footer a{font-size:.85rem}.cam-footer ul{list-style:none;padding:0;margin:0}.cam-footer li{margin:8px 0}.cam-footer a{display:inline-block;padding:6px 0}.cam-footer-bottom{border-top:1px solid #cbd5e1;margin-top:36px;padding-top:24px;display:flex;justify-content:space-between;gap:28px}.cam-image-credits{font-size:.75rem;max-width:420px}.cam-image-credits summary{min-height:44px;cursor:pointer}.cam-image-credits ul{padding-left:16px;list-style:disc}
.cam-tool-layout{margin:0;padding:0}.cam-tool-breadcrumb{padding:20px 28px 0}.cam-tool-layout #he-app{min-height:60vh}.cam-featured{max-width:100%;height:auto}.cam-related{margin-top:40px;padding-top:16px;border-top:1px solid #cbd5e1}
.cam-ad{min-height:300px;background:var(--cam-surface);margin:36px 0;padding:12px;text-align:center;font-size:.75rem;contain:layout}.cam-disclosure{font-size:.9rem;padding:12px;background:var(--cam-surface)}
.cam-skip{position:absolute;top:-100px;left:10px;background:white;padding:12px;z-index:10000}.cam-skip:focus{top:10px}.cam-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap!important;border:0!important}
.cam-container .pagination{margin-top:32px}.page-numbers{padding:10px}
@media(max-width:1100px){.cam-header-inner{flex-wrap:wrap;gap:12px}.cam-header nav{width:100%}.cam-menu{flex-wrap:wrap;gap:10px 20px}.cam-nav-enhanced nav{position:absolute;top:100%;left:0;right:0;width:auto;background:white;border-bottom:1px solid #cbd5e1;padding:20px 28px;max-height:75svh;overflow:auto;padding-bottom:max(28px,env(safe-area-inset-bottom))}.cam-nav-enhanced .cam-menu{display:flex;align-items:stretch;flex-direction:column;gap:8px}.cam-nav-group>ul,.cam-custom-menu .sub-menu{position:static;margin:0;min-width:0;border:0;border-radius:0;padding:4px 16px;background:var(--cam-surface)}.cam-nav-group summary{display:flex;justify-content:space-between}.cam-menu a,.cam-nav-group summary{font-size:.95rem}.cam-four{grid-template-columns:repeat(2,minmax(0,1fr))}.cam-hero-panel{padding:28px;gap:24px}.cam-footer-grid{gap:24px}.cam-brand{width:205px}}
@media(max-width:800px){.cam-hero{padding:32px 28px}.cam-three{grid-template-columns:repeat(2,minmax(0,1fr))}.cam-container{padding:28px 20px 48px}.cam-hero-panel,.cam-pv-feature,.cam-pillar-heading{grid-template-columns:1fr}.cam-hero-panel{min-height:0;padding:26px}.cam-hero-visual{height:300px}.cam-hero-copy h2{font-size:2.25rem}.cam-pv-feature{padding:26px;gap:24px}.cam-pv-feature .cam-media{aspect-ratio:2/1}.cam-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cam-method-strip{grid-template-columns:1fr;gap:12px}.cam-pillar-heading .cam-media{aspect-ratio:2/1}.cam-section-heading{align-items:start;flex-direction:column}.cam-footer-bottom{flex-direction:column;gap:12px}}
@media(max-width:540px){.cam-hero{padding:28px 22px}.cam-grid,.cam-three,.cam-four,.cam-prose .cam-four{grid-template-columns:1fr}.cam-brand{width:195px}.cam-header-inner{padding:16px 20px}.cam-hero-panel{padding:24px 20px}.cam-hero-tabs{padding:10px;gap:4px;flex-wrap:nowrap}.cam-hero-tabs a{flex:1;padding:10px 5px;justify-content:center;font-size:.74rem;gap:5px;min-width:0}.cam-hero-tabs .cam-icon{display:none}.cam-hero-visual{height:230px}.cam-hero-copy h2{font-size:2rem}.cam-container h1{font-size:2.05rem}.cam-card{padding:22px}.cam-search>div{flex-wrap:wrap}.cam-search input{flex-basis:100%}.cam-actions .cam-button{width:100%}.cam-pv-feature .cam-media{aspect-ratio:3/2}.cam-footer-grid{grid-template-columns:1fr 1fr;gap:28px 16px}.cam-footer-grid>section{grid-column:1/-1}.cam-article-figure .cam-media{aspect-ratio:3/2}.cam-method-strip{padding:26px}.cam-card-copy{padding:22px}}
@media(prefers-reduced-motion:reduce){.cam-site *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Editorial 1.2: orientation around existing HE entry points, no auth implementation. */
.cam-account-entry{max-width:800px;margin:1.5rem auto;padding:1.5rem;background:#F1F5F9;border-radius:22px;color:#064B5A}
.cam-account-entry p:last-child{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.cam-tool-trail{padding:.75rem 1rem;max-width:1240px;margin:0 auto;color:#064B5A}
.cam-reading table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.cam-reading th,.cam-reading td{padding:.6rem;text-align:left;border-bottom:1px solid #e2e8f0}

/* Native button, visually identical to the adjacent footer links. */
.cam-footer .cam-cookie-preferences-item[hidden]{display:none}
.cam-footer .cam-cookie-preferences{appearance:none;border:0;border-radius:0;background:none;box-shadow:none;margin:0;padding:6px 0;font:inherit;font-size:.85rem;color:var(--cam-ink);text-align:left;text-decoration:underline;text-underline-offset:.22em;cursor:pointer}
.cam-footer .cam-cookie-preferences:focus-visible{outline:2px solid currentColor;outline-offset:3px}
