/* Cartano · Approfondimenti: serif editorial, warm studio palette, no remote assets */
:root{color-scheme:light;--bg:#F7F5F0;--paper:#fff;--ink:#24312D;--muted:#58665F;--accent:#286456;--line:#DCE1DA;--warm:#f1ede5;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);line-height:1.65}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:4px}a:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.wrap{width:min(1160px,calc(100% - 64px));margin:auto}
.site-head{border-bottom:1px solid var(--line);background:rgba(247,246,242,.93)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;min-height:87px;gap:24px}
.brand{font:500 36px/1 Georgia,serif;letter-spacing:-.065em;color:var(--ink);text-decoration:none}.brand span{color:var(--accent)}
.site-nav{display:flex;flex-wrap:wrap;gap:24px}.site-nav a{font-size:14px;font-weight:650;color:#3d5249;text-decoration:none}.site-nav a[aria-current=page]{color:var(--accent);text-decoration:underline;text-underline-offset:7px}
.eyebrow{font-size:12px;font-weight:750;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.hero{padding:86px 0 59px;border-bottom:1px solid var(--line)}h1,h2,h3,.feature-title{font-family:Georgia,'Iowan Old Style',serif;letter-spacing:-.035em;font-weight:400}
.hero h1{font-size:clamp(48px,6vw,86px);line-height:1.06;max-width:950px;margin:18px 0 25px}.hero p{font-size:clamp(17px,2vw,20px);color:var(--muted);max-width:700px;margin:0}
.filters{padding:29px 0;display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-block;background:#e7eee8;color:#2d6050;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;text-decoration:none}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:14px 0 85px}.card{border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden;display:flex;flex-direction:column}
.card-visual{height:185px;display:grid;place-items:center;background:#e5ece5;position:relative;overflow:hidden}.card-visual:before{content:"";position:absolute;width:180px;height:180px;border:1px solid #8db5a1;border-radius:50%;box-shadow:0 0 0 35px #d3e5d8,0 0 0 70px #e1eee3;opacity:.65;transform:translate(75px,42px)}.card-visual strong{position:relative;z-index:1;font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:#285745;background:#f7faf5;border:1px solid #cdded0;padding:10px 16px;border-radius:8px}
.card-body{padding:25px 25px 30px;flex:1;display:flex;flex-direction:column}.card h2{font-size:clamp(24px,2.4vw,32px);line-height:1.19;margin:15px 0 12px}.card p{font-size:15px;color:var(--muted);margin:0 0 22px}.card .more{font-size:14px;font-weight:700;margin-top:auto}
.article-head{padding:72px 0 45px;border-bottom:1px solid var(--line)}.article-head .wrap{max-width:930px}.article-head h1{font-size:clamp(42px,5.5vw,75px);line-height:1.08;margin:18px 0 22px}.article-head .dek{font-size:20px;max-width:750px;color:var(--muted);margin:0 0 17px}.article-meta{display:flex;gap:13px;align-items:center;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.article-layout{width:min(1130px,calc(100% - 64px));margin:0 auto;display:grid;grid-template-columns:1fr 250px;gap:70px;padding:56px 0 90px}
.prose{max-width:760px;min-width:0;font-size:17px;line-height:1.85}.prose h2{font-size:37px;line-height:1.18;margin:52px 0 14px}.prose h3{font-size:26px;line-height:1.23;margin:30px 0 12px}.prose p{margin:15px 0}.prose li{margin:9px 0}.prose ul,.prose ol{padding-left:25px}
.toc{align-self:start;position:sticky;top:26px;border-left:1px solid var(--line);padding-left:21px}.toc strong{font-size:12px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.toc a{display:block;font-size:14px;color:#3c6054;margin-top:13px;text-decoration:none}.toc a:hover{text-decoration:underline}
.story{background:var(--warm);border:1px solid #e3e1d9;padding:25px 27px;border-radius:13px;margin:32px 0}.story strong{display:block;color:#795c43;margin-bottom:5px;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.story p{margin:0}
.flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;list-style:none;padding:0!important;margin:30px 0!important}.flow li{font-size:13px;line-height:1.45;border-radius:10px;background:#e5efe6;border:1px solid #cddbd1;padding:14px 10px;text-align:center;color:#275747;font-weight:700}
.callout{border-left:3px solid var(--accent);padding:16px 22px;background:#edf3ec;margin:30px 0}
.comparison{width:100%;border-collapse:collapse;font-size:15px;margin:25px 0}.comparison th,.comparison td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}.comparison th{background:#e8eee6;font-size:13px}
.cta{margin:45px 0;background:#244f43;color:#fff;border-radius:14px;padding:31px}.cta h2{color:#fff;font-size:32px;margin:0 0 12px}.cta p{color:#d3e2da;margin:0 0 19px}.cta a{display:inline-block;background:#fff;color:#245749;border-radius:8px;padding:10px 15px;text-decoration:none;font-size:14px;font-weight:750}
.related{padding-top:25px;border-top:1px solid var(--line)}.related h2{font-size:30px}.related a{display:block;margin:12px 0}
footer{border-top:1px solid var(--line);padding:27px 0 37px;color:var(--muted);font-size:13px}footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media(max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr;gap:15px}.toc{position:static;grid-row:1;border:0;padding:0}.toc a{display:inline-block;margin:10px 15px 0 0}.hero{padding-top:60px}}
@media(max-width:650px){.wrap,.article-layout{width:calc(100% - 36px)}.site-head .wrap{min-height:76px;align-items:flex-start;flex-direction:column;padding:20px 0;gap:13px}.brand{font-size:32px}.site-nav{gap:15px}.hero{padding:47px 0 36px}.cards{grid-template-columns:1fr;margin-bottom:50px}.article-head{padding:40px 0 29px}.article-layout{padding:30px 0 58px}.prose{font-size:16px;line-height:1.75}.prose h2{font-size:30px}.flow{grid-template-columns:repeat(2,1fr)}.comparison{font-size:13px}.comparison td,.comparison th{padding:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Responsive ZEROTRENTA logotype. */
.brand{font-size:clamp(28px,3vw,34px)}
@media(max-width:650px){.brand{font-size:29px}}

/* ZEROTRENTA editorial logo alignment with Warm Studio */
.site-head .brand{display:inline-flex;align-items:center;width:min(215px,100%);flex:0 1 215px;letter-spacing:normal;font-size:initial}
.site-head .brand img{display:block;width:100%;height:auto;max-width:100%}
@media(max-width:600px){.site-head .brand{width:clamp(135px,38vw,185px);flex-basis:clamp(135px,38vw,185px)}}
