/*
Theme Name: Salvatore De Martino 2026
Theme URI: https://www.salvatoredemartino.it/
Author: Salvatore De Martino
Description: Tema personale per profilo professionale, libro e blog.
Version: 1.0.2
Text Domain: salvatore-demartino-2026
*/
:root{--navy:#2f8f3a;--navy-2:#236c2b;--teal:#79c942;--mint:#eff8e8;--gold:#f59d24;--ink:#233126;--muted:#637067;--paper:#fbfcf7;--white:#fff;--line:#dfe9dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}img{display:block;width:100%}.prototype-note{background:var(--gold);color:var(--navy-2);text-align:center;font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:8px}.site-header{height:88px;padding:0 clamp(24px,6vw,104px);display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(9,44,62,.08)}.brand{display:flex;gap:13px;align-items:center;font-weight:800}.brand small{display:block;font-size:10px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase;margin-top:4px}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-size:12px;letter-spacing:.08em}.site-header nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700}.site-header nav a{position:relative}.site-header nav a:not(.nav-cta):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--teal);transition:.25s}.site-header nav a:hover:after{right:0}.nav-cta{padding:12px 20px;border-radius:99px;background:var(--navy);color:#fff}.menu-toggle{display:none}.hero{min-height:720px;background:var(--navy);color:#fff;display:grid;grid-template-columns:1.08fr .92fr;position:relative;overflow:hidden;padding:80px clamp(24px,7vw,120px) 72px;gap:7vw}.hero-glow{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(25,166,155,.35),transparent 66%);left:-300px;bottom:-390px}.hero-copy,.hero-visual{position:relative;z-index:2}.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:var(--teal)}.hero h1{font-size:clamp(48px,5.6vw,84px);line-height:.99;letter-spacing:-.045em;margin:24px 0 28px;max-width:900px}.hero h1 em,.book h2 em{font-family:"Playfair Display",serif;color:var(--gold);font-weight:600}.hero-intro{font-size:18px;line-height:1.65;max-width:680px;color:#d5e1e5}.hero-actions,.book-actions{display:flex;gap:14px;flex-wrap:wrap;margin:34px 0}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:6px;font-size:13px;font-weight:800;letter-spacing:.03em}.button.primary{background:var(--gold);color:var(--navy-2)}.button.secondary{border:1px solid rgba(255,255,255,.3);color:#fff}.button.secondary.dark{border-color:#b9c7c5;color:var(--navy)}.hero-proof{display:flex;gap:36px;margin-top:52px;padding-top:26px;border-top:1px solid rgba(255,255,255,.16);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#b7c9cf}.hero-proof span{max-width:120px}.hero-proof strong{display:block;font-size:27px;color:#fff;letter-spacing:-.03em;margin-bottom:5px}.hero-visual{display:flex;align-items:center;justify-content:center}.portrait-frame{width:min(480px,100%);height:570px;border-radius:230px 230px 18px 18px;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 35px 90px rgba(0,0,0,.3)}.portrait-frame img{height:100%;object-fit:cover;object-position:center}.floating-card{position:absolute;right:-20px;bottom:80px;background:#fff;color:var(--navy);padding:18px 22px;border-radius:8px;box-shadow:0 15px 40px rgba(0,0,0,.18);max-width:230px}.floating-card span{font-size:10px;color:var(--teal);font-weight:800;text-transform:uppercase;letter-spacing:.14em;display:block;margin-bottom:6px}.floating-card strong{font-size:14px}.section{padding:110px clamp(24px,7vw,120px)}.intro{background:#fff}.intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:9vw;margin-top:28px}.intro h2,.section-heading h2,.book h2,.contact h2{font-size:clamp(38px,4.4vw,66px);line-height:1.08;letter-spacing:-.04em;margin:0}.intro h2 span{color:var(--teal)}.intro .lead{font-size:21px;line-height:1.55;margin-top:0}.intro p{color:var(--muted);line-height:1.8}.text-link{font-size:13px;font-weight:800;color:var(--navy);display:inline-flex;gap:8px;align-items:center;margin-top:20px;border-bottom:1px solid var(--teal);padding-bottom:5px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:46px}.section-heading>p{max-width:430px;color:var(--muted);line-height:1.7}.section-heading .section-kicker{margin-bottom:16px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{min-height:320px;padding:28px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;transition:.25s}.card:hover{transform:translateY(-7px);box-shadow:0 20px 44px rgba(9,44,62,.09)}.card.featured{background:var(--teal);color:#fff;border-color:var(--teal)}.card-number{font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--teal)}.featured .card-number{color:#d9fff8}.card h3{font-size:24px;line-height:1.2;margin:54px 0 16px}.card p{font-size:14px;line-height:1.7;color:var(--muted)}.featured p{color:#e9fffb}.card-arrow{margin-top:auto;font-size:28px}.projects{background:var(--navy);color:#fff}.section-heading.light>p{color:#bdd0d6}.project-list{border-top:1px solid rgba(255,255,255,.2)}.project-list a{display:grid;grid-template-columns:60px 1.2fr 1fr 30px;gap:20px;align-items:center;padding:28px 8px;border-bottom:1px solid rgba(255,255,255,.14);transition:.2s}.project-list a:hover{background:rgba(25,166,155,.15);padding-left:20px}.project-list span{color:var(--teal);font-size:12px}.project-list strong{font-size:24px}.project-list small{color:#b8cbd1}.project-list b{font-size:24px;color:var(--gold)}.book{display:grid;grid-template-columns:.95fr 1.05fr;gap:8vw;align-items:center;background:var(--mint)}.book-art{position:relative}.book-image{border-radius:10px;overflow:hidden;box-shadow:0 35px 75px rgba(9,44,62,.22);transform:rotate(-2deg)}.book-image img{aspect-ratio:1.42;object-fit:cover}.book-badge{position:absolute;top:-25px;left:-20px;width:90px;height:90px;border-radius:50%;background:var(--gold);display:grid;place-items:center;font-weight:800;text-transform:uppercase;font-size:11px;transform:rotate(-8deg)}.book h2{margin:18px 0 24px;color:var(--navy)}.book blockquote{font-family:"Playfair Display",serif;font-size:23px;line-height:1.5;color:var(--teal);margin:0 0 20px;padding-left:20px;border-left:3px solid var(--gold)}.book p{color:var(--muted);line-height:1.8}.blog{background:#fff}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.post-card{border:1px solid var(--line);background:#fff;overflow:hidden}.post-card img{aspect-ratio:1.45;object-fit:cover;transition:.35s}.post-card:hover img{transform:scale(1.04)}.post-body{padding:24px}.post-body>span{color:var(--teal);font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.post-body h3{font-size:21px;line-height:1.38;margin:15px 0 28px}.post-body p{font-size:12px;font-weight:800;color:var(--navy)}.dynamic-note{margin:28px 0 0;color:#7c8b90;font-size:12px;text-align:center}.contact{text-align:center;background:linear-gradient(135deg,var(--navy),#0d4c5f);color:#fff}.contact h2{font-size:clamp(48px,6vw,90px);margin:20px 0}.contact>p:not(.eyebrow){color:#cadbe0;margin-bottom:30px}footer{background:var(--navy-2);color:#fff;padding:38px clamp(24px,7vw,120px);display:flex;align-items:center;justify-content:space-between;gap:30px;font-size:11px}footer>div:last-child{display:flex;gap:18px}.footer-brand small{color:#9eb3ba}
@media(max-width:980px){.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:24px;flex-direction:column}.site-header nav.open{display:flex}.menu-toggle{display:block;border:0;background:var(--navy);color:#fff;padding:10px 16px;border-radius:5px}.hero{grid-template-columns:1fr;padding-top:60px}.hero-visual{margin-top:20px}.portrait-frame{height:520px}.cards{grid-template-columns:repeat(2,1fr)}.intro-grid,.book{grid-template-columns:1fr}.post-grid{grid-template-columns:1fr 1fr}.section-heading{align-items:flex-start;flex-direction:column}.project-list a{grid-template-columns:45px 1fr 30px}.project-list small{display:none}}
@media(max-width:620px){.site-header{height:74px;padding:0 18px}.site-header nav{top:74px}.brand small{display:none}.hero{padding:55px 20px}.hero h1{font-size:45px}.hero-proof{gap:18px;flex-wrap:wrap}.portrait-frame{height:430px}.floating-card{right:0;bottom:25px}.section{padding:76px 20px}.cards,.post-grid{grid-template-columns:1fr}.card{min-height:270px}.project-list strong{font-size:18px}.book-art{margin:20px}.book-actions{align-items:stretch;flex-direction:column}.book-actions .button{width:100%}footer{flex-direction:column;text-align:center}.prototype-note{font-size:9px}}
.future{background:#fff}.future-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.future-grid>div{padding:34px;border:1px solid var(--line);background:linear-gradient(145deg,#fff,var(--mint));border-radius:10px}.future-grid strong{font-size:34px;color:var(--gold)}.future-grid h3{font-size:24px;color:var(--navy-2);margin:28px 0 12px}.future-grid p{color:var(--muted);line-height:1.7}.future-grid>div:nth-child(2){background:var(--navy);color:#fff}.future-grid>div:nth-child(2) h3{color:#fff}.future-grid>div:nth-child(2) p{color:#e6f2e7}
.project-logos a{grid-template-columns:38px 130px minmax(170px,.7fr) minmax(260px,1.3fr) 110px;gap:24px}.project-logos img{width:120px;height:72px;object-fit:contain;background:#fff;border-radius:6px;padding:7px}.project-logos strong{font-size:18px;line-height:1.25}.project-logos small{font-size:12px;line-height:1.55}.project-logos b{font-size:11px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.contact-email{display:block;width:max-content;margin:14px auto 0;color:#fff;text-decoration:underline;font-size:14px}
.contact-socials{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}.contact-socials a{display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border:1px solid rgba(255,255,255,.28);border-radius:99px;color:#fff;transition:.2s}.contact-socials a:hover{background:#fff;color:var(--navy);transform:translateY(-2px)}.contact-socials span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--navy-2);font:800 14px/1 Manrope,Arial,sans-serif}.contact-socials b{font-size:12px;letter-spacing:.02em}
.contact-form{max-width:780px;margin:38px auto 18px;padding:30px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.2);border-radius:12px;text-align:left}.contact-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{display:block;font-size:12px;font-weight:800;letter-spacing:.03em;color:#fff}.contact-form label.full{grid-column:1/-1}.contact-form input,.contact-form textarea{width:100%;margin-top:8px;padding:14px 15px;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:#fff;color:var(--ink);font:500 15px/1.45 Manrope,Arial,sans-serif}.contact-form textarea{min-height:150px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(245,157,36,.45);border-color:var(--gold)}.contact-form .button{margin-top:20px;border:0;cursor:pointer}.contact-notice{max-width:780px;margin:24px auto;padding:15px 18px;border-radius:7px;font-size:14px;font-weight:700}.contact-notice.success{background:#effbe8;color:#205f29}.contact-notice.error{background:#fff1ee;color:#8b2f25}.contact-privacy{margin:12px 0 0;color:#cfe0d2;font-size:11px;line-height:1.6}.contact-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-email{margin-top:18px}
@media(max-width:760px){.future-grid{grid-template-columns:1fr}}
@media(max-width:980px){.project-logos a{grid-template-columns:34px 110px 1fr 24px}.project-logos img{width:100px}.project-logos small{display:block;grid-column:3/5}.project-logos b{font-size:0}.project-logos b::after{content:"↗";font-size:20px}}
@media(max-width:620px){.project-logos a{grid-template-columns:28px 82px 1fr;gap:14px}.project-logos img{width:78px;height:60px}.project-logos strong{font-size:16px}.project-logos small{grid-column:2/4}.project-logos b{display:none}}
@media(max-width:620px){.contact-form{padding:20px}.contact-form-grid{grid-template-columns:1fr}.contact-form label.full{grid-column:auto}}
.hero-visual{flex-direction:column;gap:20px}.vision-line{margin:0;color:#fff;font-size:14px;font-weight:700;letter-spacing:.04em;text-align:center}.vision-line span{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-right:8px}.book-image{background:transparent;box-shadow:none;transform:none;text-align:center;overflow:visible}.book-image img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain;border-radius:10px;box-shadow:0 28px 65px rgba(9,44,62,.2)}
.card{padding:0;overflow:hidden;min-height:445px}.card-image{height:160px;object-fit:cover;transition:transform .45s ease}.card:hover .card-image{transform:scale(1.045)}.card-content{padding:22px 28px 26px;display:flex;flex:1;flex-direction:column}.card h3{margin:24px 0 14px}.featured .card-image{filter:saturate(.92)}
.archive-main{padding:70px clamp(20px,7vw,120px) 110px}.archive-hero{max-width:900px;margin:0 auto 60px;text-align:center}.archive-hero h1,.article-main h1{font-size:clamp(42px,5vw,72px);line-height:1.05;letter-spacing:-.04em;margin:16px 0}.archive-hero>p:last-child{color:var(--muted);font-size:18px}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1400px;margin:auto}.archive-card{border:1px solid var(--line);background:#fff;overflow:hidden}.archive-card img{width:100%;aspect-ratio:1.45;object-fit:cover}.archive-card div{padding:24px}.archive-card time,.article-main time{color:var(--teal);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.archive-card h2{font-size:23px;line-height:1.3}.archive-card p{color:var(--muted);line-height:1.7}.archive-card strong{font-size:12px;color:var(--navy)}.pagination{max-width:1400px;margin:50px auto 0;text-align:center}.pagination .page-numbers{display:inline-block;padding:10px 14px;margin:3px;border:1px solid var(--line);background:#fff}.pagination .current{background:var(--navy);color:#fff}.article-main{max-width:1040px;margin:auto;padding:80px 24px 110px}.article-main article>header{text-align:center;margin-bottom:45px}.article-cover img{width:100%;height:auto;border-radius:10px}.article-content{max-width:820px;margin:45px auto 0;font-size:18px;line-height:1.85}.article-content img{height:auto}.article-content a{text-decoration:underline;color:var(--navy)}
@media(max-width:900px){.archive-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.archive-grid{grid-template-columns:1fr}.archive-main{padding-top:45px}.article-content{font-size:17px}}

/* Article image presentation: preserve the original composition without cropping. */
.post-card img{width:100%;height:250px;aspect-ratio:auto;object-fit:contain;background:#f1f5ec}
.archive-card img{width:100%;height:270px;aspect-ratio:auto;object-fit:contain;background:#f1f5ec}
.post-image-placeholder{height:250px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff}
.post-image-placeholder span{width:70px;height:70px;border:1px solid rgba(255,255,255,.55);border-radius:50%;display:grid;place-items:center;font-weight:800;letter-spacing:.12em}
.archive-card .post-image-placeholder{height:270px}
