*{box-sizing:border-box}:root{font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.7;color:#283438;background:#14252d}body{--accent:#30636a;--accent-dark:#183e45;--paper:#fbfbf8;--muted:#637176;--border:#dce3e1;--outer:#14252d;--tint:#edf2ef;margin:0;padding:40px 22px 55px;background:radial-gradient(ellipse at 5% 5%,#52747c45,transparent 50%),var(--outer);background-attachment:fixed}.theme-software{--accent:#18798a;--accent-dark:#083d4a;--outer:#0a2531;--tint:#eaf4f5}.theme-scifi{--accent:#63c8ef;--accent-dark:#103e55;--paper:#101d2b;--muted:#a8bacb;--border:#2c3e50;--outer:#040a16;--tint:#152a3c;color:#e1eaf2;background:radial-gradient(ellipse at 0 10%,#094e704d,transparent 50%),var(--outer)}.theme-karaoke{--accent:#b52e42;--accent-dark:#501725;--paper:#fffafa;--outer:#200d16;--tint:#f9edef;--border:#eadcde;background:radial-gradient(ellipse at 100% 0%,#8d25384d,transparent 50%),var(--outer)}.theme-libri{--accent:#916b37;--accent-dark:#513b22;--paper:#fffdf7;--outer:#332e26;--tint:#f6f0e4;--border:#e6ddcd;--muted:#756e60;background:radial-gradient(ellipse at 0 0,#a8855340,transparent 60%),var(--outer)}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.site-shell{max-width:1100px;margin:auto;background:var(--paper);box-shadow:0 25px 100px #0005;border:1px solid #ffffff18}.topbar{padding:27px 38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-size:20px;line-height:1.3;letter-spacing:3px;font-weight:700}.brand span{display:block;font-size:8px;letter-spacing:2.2px;margin-top:8px;color:var(--muted);font-weight:400}.write{font-size:12px;color:var(--accent);border-bottom:1px solid var(--accent)}nav{display:flex;gap:0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:0 25px}nav a{padding:15px 14px;font-size:12px;border-bottom:3px solid transparent;margin-bottom:-1px;color:var(--muted)}nav a[aria-current]{border-color:var(--accent);color:var(--accent);font-weight:700}nav a:hover{background:var(--tint);color:var(--accent)}.cover{height:280px;position:relative;overflow:hidden;color:white;background:var(--accent-dark)}.cover-image{width:100%;height:100%;object-fit:cover;object-position:center 40%;display:block}.theme-personal .cover-image{object-position:right 32%;width:70%;margin-left:auto}.theme-libri .cover-image{object-position:right 45%;width:60%;margin-left:auto}.theme-karaoke .cover-image{object-position:center}.cover-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0a1929eb 0%,#0b1828b8 30%,#06122515 85%)}.theme-personal .cover-shade{background:linear-gradient(90deg,#16343e 22%,#16343eb0 46%,#11252a00 80%)}.theme-libri .cover-shade{background:linear-gradient(90deg,#443320 20%,#443320e8 40%,#34241430 85%)}.theme-karaoke .cover-shade{background:linear-gradient(90deg,#2a0c17ee,#20071270 60%,#20071210)}.cover-copy{position:absolute;top:50%;left:38px;transform:translateY(-50%);max-width:67%;text-shadow:0 2px 15px #0004}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:bold;color:var(--accent);margin:0 0 16px}.cover .eyebrow{color:#e6d6b4}h1{font-size:45px;line-height:1.12;font-weight:400;letter-spacing:-1.6px;margin:0 0 18px}.cover-copy>p:last-child{font-size:16px;margin:0;color:#f0f0e9}.identity{min-height:120px;position:relative;padding:24px 36px 22px 200px;background:var(--tint);border-bottom:1px solid var(--border)}.portrait{position:absolute;left:38px;top:-45px;border:5px solid var(--paper);border-radius:50%;width:140px;height:140px;overflow:hidden;box-shadow:0 4px 15px #0002;z-index:2}.portrait img{width:100%;height:100%;object-fit:cover;object-position:55% center}.identity-text>span{font-size:22px;font-family:Georgia,serif;color:var(--accent);line-height:1.3}.identity-text>p{font-size:12px;color:var(--muted);margin:9px 0 0;max-width:720px}.contactbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 38px;font-size:10px;color:var(--muted);border-bottom:1px solid var(--border)}.contactbar .link{font-size:10px;padding:0;border:0}.contactbar a:hover{color:var(--accent)}main{display:grid;grid-template-columns:31% 1fr;gap:46px;padding:42px 38px 20px}aside{border-right:1px solid var(--border);padding-right:28px}.block{margin-bottom:36px}.block>h2{font-size:12px;text-transform:uppercase;letter-spacing:1.2px;margin:0 0 20px;line-height:1.4;padding-bottom:10px;border-bottom:1px solid var(--border);color:var(--accent);font-weight:700}.block p{font-size:13px;color:var(--muted);margin:0 0 15px}.section-intro{max-width:580px}.skills{list-style:none;padding:0;margin:0}.skills li{margin-bottom:20px}.skills strong{display:block;font-size:12px;font-weight:600;margin-bottom:4px}.skills li>span{display:block;font-size:11px;color:var(--muted);line-height:1.6}.link{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:3px}.link:hover{opacity:.75}.world-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.world-card{padding:22px 20px;min-height:180px;background:var(--tint);border:1px solid var(--border);border-top:3px solid var(--accent);transition:transform .2s,box-shadow .2s}.world-card:hover{transform:translateY(-3px);box-shadow:0 5px 15px #0001}.world-card h3{font-family:Georgia,serif;font-size:21px;font-weight:400;margin:0 0 12px;line-height:1.3}.world-card h3 span{float:right;color:var(--accent);font-family:Arial;font-size:16px}.world-card .eyebrow{font-size:7px;margin-bottom:13px;letter-spacing:1.5px}.world-card p{font-size:11px;margin:0;line-height:1.6}.world-card.scifi{background:#eaf2f8;border-top-color:#2d7194}.world-card.karaoke{background:#f8ecef;border-top-color:#b52e42}.world-card.libri{background:#f5efe4;border-top-color:#916b37}.interests{display:flex;gap:8px;flex-wrap:wrap}.interests span{padding:5px 10px;background:var(--tint);border:1px solid var(--border);font-size:10px;color:var(--muted)}.entry{margin-bottom:25px;padding-bottom:23px;border-bottom:1px solid var(--border)}.entry:last-child{padding-bottom:0;border:0}.entry-label{display:block;font-size:8px;letter-spacing:1.4px;color:var(--accent);margin-bottom:7px}.entry h3{font-weight:400;font-family:Georgia,serif;font-size:23px;line-height:1.25;letter-spacing:-.3px;margin:0 0 12px}.entry p{margin-bottom:12px}.timeline .entry{position:relative;padding-left:22px;border-left:1px solid var(--border);border-bottom:0;margin-bottom:0;padding-bottom:30px}.timeline .entry:before{content:'';width:7px;height:7px;border-radius:50%;position:absolute;left:-4px;top:4px;background:var(--accent)}.timeline .entry h3{font-size:20px}.timeline .entry p{margin:0}.wide-figure,.book-figure{margin:0}.wide-figure img{width:100%;aspect-ratio:1.7;object-fit:cover;display:block}.wide-figure figcaption,.caption{font-size:10px!important;color:var(--muted);margin-top:10px!important}.book-figure{background:#211a10;text-align:center}.book-figure img{width:100%;max-width:530px;display:block;margin:auto}.video-feature{display:block;position:relative;background:#0a0506}.video-feature img{display:block;width:100%}.watch{display:block;padding:12px 18px;background:var(--accent-dark);color:white;font-size:11px;text-align:right}.notice{font-size:10px;color:var(--muted);padding:14px;border:1px solid var(--border)}.button{display:inline-flex;gap:20px;align-items:center;padding:10px 18px;background:var(--accent);color:var(--paper);font-size:11px;font-weight:600}.theme-scifi .button{color:#07131d}.action-row{margin-top:25px}.closing{margin:0 38px;border-top:1px solid var(--border);padding:25px 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.closing p{font-family:Georgia,serif;font-size:17px;margin:0;color:var(--muted)}footer{background:var(--tint);border-top:1px solid var(--border);display:flex;gap:24px;align-items:center;padding:18px 38px;font-size:9px;color:var(--muted)}footer button{margin-left:auto;background:none;border:0;font-size:9px;padding:0}footer a:hover,footer button:hover{color:var(--accent)}.small-gap{margin-top:15px!important}.tech-cover{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 10%,#22637e,transparent 70%),linear-gradient(115deg,#092d3a,#0a1a27)}.tech-cover>span{position:absolute;right:90px;top:10px;font-family:monospace;font-size:180px;line-height:1.2;letter-spacing:-20px;color:#66c4df50}.tech-cover b{position:absolute;right:38px;bottom:25px;font-size:8px;letter-spacing:3px;color:#9bd4df}.tech-cover i{position:absolute;inset:0;background-image:linear-gradient(#b1e4ff09 1px,transparent 1px),linear-gradient(90deg,#b1e4ff09 1px,transparent 1px);background-size:32px 32px}dialog{background:var(--paper);color:inherit;border:1px solid var(--accent);width:90%;max-width:620px;padding:38px;font-size:13px;line-height:1.8}dialog::backdrop{background:#0009}dialog h2{font-family:Georgia,serif;font-weight:400}dialog a{color:var(--accent)}dialog .close{position:absolute;right:12px;top:5px;background:none;border:0;font-size:28px}.skip{position:fixed;top:-100px;left:10px;background:var(--paper);color:var(--accent);z-index:50;padding:10px}.skip:focus{top:10px}
@media(max-width:850px){body{padding:20px 15px}.topbar{padding:23px 28px}nav{padding-inline:14px}nav a{padding-inline:13px}.cover-copy{left:28px}h1{font-size:38px}.identity{padding-left:180px}.portrait{left:28px;width:130px;height:130px}.contactbar{padding-inline:28px;flex-wrap:wrap;justify-content:flex-start;gap:9px 24px}main{padding:32px 28px 15px;gap:28px;grid-template-columns:32% 1fr}aside{padding-right:20px}.world-grid{grid-template-columns:1fr}.world-card{min-height:0}.closing{margin-inline:28px}footer{padding-inline:28px}.tech-cover>span{right:40px;font-size:150px;top:40px}}
@media(max-width:580px){body{padding:0;background:var(--paper)}.site-shell{border:0;box-shadow:none}.topbar{padding:22px 20px}.brand{font-size:16px;letter-spacing:2px}.brand span{font-size:6px;letter-spacing:1.5px}.write{font-size:10px}nav{padding:0 10px;gap:0;flex-wrap:wrap}nav a{font-size:10px;padding:12px 10px}.cover{height:250px}.cover-copy{left:20px;max-width:85%;top:44%}h1{font-size:35px;max-width:310px}.cover-copy>p:last-child{font-size:13px;max-width:260px}.cover .eyebrow{font-size:8px}.theme-personal .cover-image{width:100%;object-position:62% center}.theme-personal .cover-shade{background:linear-gradient(90deg,#17323eea,#17323e88 60%,#17323e30)}.theme-libri .cover-image{width:100%}.theme-libri .cover-shade{background:linear-gradient(90deg,#443320ee,#443320aa 70%,#44332040)}.identity{padding:21px 20px 20px 115px;min-height:122px}.portrait{width:84px;height:84px;left:20px;top:-25px;border-width:4px}.identity-text>span{font-size:18px}.identity-text>p{font-size:11px}.contactbar{padding:15px 20px;display:grid;grid-template-columns:1fr 1fr;font-size:9px;gap:9px}.contactbar>a:nth-child(3){grid-column:1/-1;grid-row:2}.contactbar>.link{grid-column:2;grid-row:2;justify-self:end;font-size:9px}main{display:flex;flex-direction:column;padding:28px 20px 5px;gap:0}aside{border:0;padding:0;display:contents}.main-column{display:contents}.block{margin-bottom:29px}.block p{font-size:13px}.skills{display:grid;grid-template-columns:1fr 1fr;gap:16px}.skills li{margin:0}.skills strong{font-size:11px}.skills li>span{font-size:11px}.world-grid{grid-template-columns:1fr 1fr;gap:10px}.world-card{padding:17px 13px}.world-card h3{font-size:18px}.world-card .eyebrow{font-size:6px;letter-spacing:1px}.world-card p{font-size:10px}.closing{margin:0 20px;align-items:start;flex-direction:column;gap:14px;padding:22px 0}.closing p{font-size:16px}footer{padding:18px 20px;font-size:8px;gap:15px}footer button{font-size:8px}.entry h3{font-size:22px}.theme-software .cover-copy{max-width:78%}.tech-cover>span{right:12px;font-size:110px;top:90px;opacity:.5}.tech-cover b{display:none}.book-figure img{max-width:380px}.wide-figure img{aspect-ratio:1.5}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Original-site assets retained in the redesigned pages. */
.theme-software{background:linear-gradient(#03131b70,#03131b90),url('assets/sfondo-tecnologia.jpg') center/cover fixed}.theme-software .cover-image{object-position:center 48%}.theme-software .cover-shade{background:linear-gradient(90deg,#062d3ae6,#062d3a70 60%,#062d3a20)}.interests.original-icons{gap:15px 10px;align-items:center}.original-icons img{width:52px;height:64px;object-fit:contain}.original-icons img:hover{opacity:.75}
@media(max-width:580px){.theme-software{background:var(--paper)}.original-icons img{width:48px;height:60px}}
[hidden]{display:none!important}.legal-footer{flex-wrap:wrap;gap:12px}.footer-links{display:flex;gap:17px;flex-wrap:wrap;margin-left:auto}.footer-links button{margin:0}.privacy-notice{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);width:min(980px,calc(100% - 30px));padding:23px 48px 23px 25px;background:var(--paper);border:1px solid var(--accent);box-shadow:0 8px 55px #0005;z-index:30;color:inherit}.privacy-notice h2{font-family:Georgia,serif;font-size:21px;font-weight:400;margin:0 0 8px;color:var(--accent)}.privacy-notice p{font-size:12px;margin:0 0 8px;color:var(--muted);line-height:1.6}.privacy-notice .notice-detail{font-size:10px}.notice-close{position:absolute;top:5px;right:10px;background:none;border:0;font-size:26px;line-height:1.4}.notice-actions{display:flex;align-items:center;gap:22px;margin-top:14px;font-size:11px}.notice-actions>a{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}.notice-actions>.button{border:0;margin-left:auto}.legal-content{display:block;max-width:850px;margin:auto;padding-block:45px}.legal-content h1{font-size:38px;margin-bottom:25px}.legal-content>section{margin:35px 0}.legal-content h2{font-size:19px;font-weight:500;font-family:Georgia,serif;line-height:1.4;color:var(--accent)}.legal-content p,.legal-content dd,.legal-content li{font-size:13px;color:var(--muted)}.legal-content a:not(nav a){color:var(--accent);text-decoration:underline;text-underline-offset:3px}.legal-content dl{font-size:12px}.legal-content dt{font-weight:bold;margin-top:14px}.legal-content dd{margin:4px 0 0}.legal-toc{padding:0;flex-wrap:wrap}.legal-toc a{padding:10px 18px 10px 0}.legal-draft{padding:16px 18px;font-size:12px;color:#63450e;background:#fff5db;border-left:3px solid #c68b1f;line-height:1.7}.to-confirm{color:#855808}.table-scroll{overflow-x:auto}.legal-content table{border-collapse:collapse;font-size:11px;min-width:520px;width:100%;line-height:1.65}.legal-content th,.legal-content td{border:1px solid var(--border);padding:12px;text-align:left;vertical-align:top}.legal-content th{background:var(--tint);font-size:11px}.legal-content td{color:var(--muted)}code{font-size:10px;overflow-wrap:anywhere}
@media(max-width:580px){.privacy-notice{bottom:10px;max-height:70vh;overflow-y:auto;padding:20px 32px 20px 18px;width:calc(100% - 20px)}.privacy-notice h2{font-size:19px}.notice-actions{flex-wrap:wrap;gap:15px}.notice-actions>.button{margin-left:0}.footer-links{margin-left:0;gap:12px 18px}.legal-content{padding-top:28px}.legal-content h1{font-size:31px}.legal-draft{font-size:11px}}
@media print{body{padding:0;background:white}.site-shell{box-shadow:none;border:0}.privacy-notice,.closing,.footer-links button{display:none!important}.legal-content{max-width:none}.legal-content table{min-width:0}.legal-content>section{break-inside:avoid}a{overflow-wrap:anywhere}}
/* Personal cover: the local landscape replaces the repeated portrait. */
.theme-personal .cover-image{width:100%;margin:0;object-position:center 48%}.theme-personal .cover-shade{background:linear-gradient(90deg,#112a3555,transparent 75%)}
@media(max-width:580px){.theme-personal .cover-image{object-position:62% center}.theme-personal .cover-shade{background:linear-gradient(90deg,#112a3580,#112a3520)}}
.contact-form{margin-top:30px}.contact-form fieldset{border:0;padding:0;margin:0;min-width:0}.contact-form legend{font-family:Georgia,serif;font-size:20px;color:var(--accent);margin-bottom:20px}.contact-form label{display:block;font-size:12px;font-weight:bold;margin-bottom:7px}.contact-form label span{font-weight:400;font-size:10px;color:var(--muted)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:22px}.contact-form input:not([type=hidden]),.contact-form textarea{font:inherit;font-size:14px;color:inherit;background:var(--paper);border:1px solid #9ba9a7;padding:11px 12px;width:100%;border-radius:0}.contact-form textarea{resize:vertical;min-height:150px}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.contact-form .button{border:0;cursor:pointer;margin-top:10px}.contact-form fieldset:disabled{opacity:.6}.contact-form fieldset:disabled .button{cursor:not-allowed}.contact-form .form-info{font-size:11px;line-height:1.6;margin-top:18px}.contact-status{font-size:12px;color:#73470e;background:#fff4dc;padding:16px 18px;border-left:3px solid #bb8725;margin-bottom:24px}.contact-status:empty{display:none}.contact-status.success{color:#1e553b;background:#e8f4ec;border-color:#3d9265}.form-trap{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-alternative{padding-top:30px;margin-top:35px;border-top:1px solid var(--border)}
@media(max-width:580px){.form-row{grid-template-columns:1fr;gap:20px}}

.captcha-field{margin:24px 0}.captcha-image{display:block;max-width:100%;height:auto;border:1px solid var(--border);border-radius:4px;margin:10px 0}.captcha-field input{max-width:240px;text-transform:uppercase;letter-spacing:.2em}.captcha-preview{font-size:13px;color:var(--muted)}
