/*
Theme Name: Alessia Grus Artistic Portfolio
Theme URI: https://example.com/
Author: Custom Portfolio
Description: Portfolio artistico responsive ispirato al CV di Alessia Grus. Versione 2.9.
Version: 2.9
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: alessia-grus
*/
/* Alessia Grus Portfolio v2.7 */
:root{--navy:#082c43;--blue:#075c87;--sky:#2c8eb8;--ink:#112d46;--paper:#f8f9f8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 'Montserrat',Arial,sans-serif;color:var(--ink);background:#edf3f5}body:before{content:"";position:fixed;inset:0;z-index:-2;background:url('assets/abstract-blue-background-v2.4.png') center center/cover no-repeat;opacity:1}body:after{content:"";position:fixed;inset:0;z-index:-1;background:rgba(255,255,255,.85)}a{color:inherit}.wrap{width:min(1220px,92%);margin:auto}.nav{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:20px}.brand{font-weight:800;letter-spacing:.15em;text-decoration:none;color:var(--navy)}.navlinks{display:flex;flex-wrap:wrap;gap:25px}.navlinks a{font-size:12px;font-weight:700;text-decoration:none;letter-spacing:.08em}.navlinks a:hover{color:var(--sky)}.hero{display:grid;grid-template-columns:44% 1fr;gap:5%;align-items:center;min-height:580px;padding:30px 0 55px}.portrait{width:100%;aspect-ratio:1.05;object-fit:cover;object-position:left center;mask-image:linear-gradient(to right,#000 82%,transparent 100%);filter:drop-shadow(0 18px 20px #163d4b33)}.eyebrow{letter-spacing:.22em;font-size:13px;font-weight:600}.hero h1{font-size:clamp(60px,8vw,118px);font-weight:300;line-height:.91;letter-spacing:-.07em;margin:12px 0 25px;color:#080f15}.hero h1 strong{display:block;color:var(--blue);font-weight:800}.hero p{max-width:590px}.script{font-family:'Caveat',cursive;color:var(--blue);font-size:40px;transform:rotate(-5deg);display:inline-block}.brush{display:inline-block;background:linear-gradient(100deg,#064268,#1879a5 85%,transparent);color:white;padding:8px 30px 9px 15px;clip-path:polygon(0 9%,95% 0,100% 84%,3% 100%);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.button{display:inline-block;background:var(--navy);color:white;text-decoration:none;font-weight:700;padding:13px 22px;margin-top:15px;border-radius:2px}.button:hover{background:var(--blue)}.contacts{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;padding:22px;background:#d7e6ecb8;border-top:1px solid #8db7ca;border-bottom:1px solid #8db7ca}.contacts a{text-decoration:none}.sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:65px 0}.panel{background:#ffffffa8;padding:18px 20px;border-top:4px solid var(--blue);box-shadow:0 7px 24px #123c4c13}.panel h2{font-size:15px;line-height:1.35;letter-spacing:.02em;margin:0 0 22px}.panel ul{padding-left:20px}.panel li{margin:7px 0}.skill{display:flex;align-items:center;gap:12px;margin:9px 0}.skill b{background:var(--navy);color:white;border-radius:4px;font-size:11px;padding:2px 6px;min-width:32px;text-align:center}.bar{height:9px;border-radius:12px;background:#cbd5da;overflow:hidden;margin:8px 0 18px}.bar span{display:block;height:100%;background:linear-gradient(90deg,#085782,#6ab7d4)}.section-title{font-size:27px;color:var(--navy);margin:22px 0}.timeline{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:40px}.job{border-left:3px solid var(--sky);padding:6px 20px;background:#ffffffbd}.job small{color:var(--blue);font-weight:700}.job h3{margin:5px 0}.job p{margin:5px 0}.footer{margin-top:50px;background:var(--navy);color:white;padding:30px 0;font-size:13px}.footer .wrap{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}@media(max-width:850px){.hero{grid-template-columns:1fr;gap:5px}.portrait{max-width:600px;margin:auto;max-height:490px}.sections{grid-template-columns:repeat(2,minmax(0,1fr))}.nav{align-items:flex-start;flex-direction:column}.hero h1{font-size:clamp(62px,13vw,105px)}}@media(max-width:550px){.sections,.timeline{grid-template-columns:1fr}.contacts{flex-direction:column}.hero{padding-top:0}.hero h1{font-size:70px}.script{font-size:33px}.brush{font-size:14px}}

/* v2.2 - technical skill logos */
.skill .skill-icon{width:32px;height:32px;flex:0 0 32px;display:block;object-fit:contain;border-radius:4px}
.skill span{min-width:0}

/* v2.7 - Slow zoom in/out: complete 60-second cycle, 25% zoom */
body::before {
  inset: 0;
  transform-origin: center center;
  will-change: transform;
  animation: alessia-bg-zoom-v27 60s ease-in-out infinite;
}
@keyframes alessia-bg-zoom-v27 {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.25); }
}
@media (prefers-reduced-motion: reduce) {
  body::before { animation: none; transform: none; will-change: auto; }
}

/* v2.8 — blog templates, consistent with the portfolio */
.blog-main{padding:55px 0 90px;min-height:65vh}.blog-intro{margin:0 0 38px}.blog-intro .brush{font-size:clamp(20px,3vw,34px);margin:12px 0 4px}.blog-intro p{font-size:16px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.blog-card{background:#ffffffd9;border-top:4px solid var(--blue);box-shadow:0 9px 26px #123c4c17;overflow:hidden}.blog-card-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#dbeaf0;text-decoration:none}.blog-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.blog-card-image:hover img{transform:scale(1.05)}.blog-card-placeholder{height:100%;display:grid;place-items:center;font-size:65px;color:var(--sky)}.blog-card-body{padding:23px}.blog-meta{font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--blue)}.blog-card h2{font-size:20px;line-height:1.35;margin:12px 0}.blog-card h2 a{text-decoration:none}.blog-card h2 a:hover,.blog-read:hover{color:var(--sky)}.blog-card p{font-size:14px}.blog-read,.blog-back{font-size:12px;letter-spacing:.07em;font-weight:800;text-decoration:none;color:var(--blue)}.blog-pagination{margin-top:40px}.blog-pagination .nav-links{display:flex;flex-wrap:wrap;gap:12px}.blog-pagination .page-numbers{padding:8px 13px;background:#fff;text-decoration:none}.blog-pagination .current{background:var(--blue);color:#fff}.blog-empty{background:#ffffffc9;padding:35px}.blog-article{max-width:850px;margin:auto;background:#ffffffdb;padding:clamp(22px,5vw,55px);box-shadow:0 9px 26px #123c4c14}.blog-article h1{font-size:clamp(34px,5vw,56px);line-height:1.14;color:var(--navy);margin:18px 0 25px}.blog-article .blog-meta{margin-top:25px}.blog-featured img{width:100%;height:auto;display:block;margin:25px 0}.blog-content{overflow-wrap:anywhere}.blog-content img{max-width:100%;height:auto}.blog-content h2,.blog-content h3{color:var(--navy);line-height:1.3}.blog-content a{color:var(--blue)}.blog-content blockquote{border-left:4px solid var(--sky);padding-left:20px;margin-left:0}.blog-post-nav{margin-top:40px;padding-top:22px;border-top:1px solid #b9d2dd}.blog-post-nav a{color:var(--blue);font-weight:700;text-decoration:none}.navlinks a[aria-current="page"]{color:var(--blue);border-bottom:2px solid var(--blue)}@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.blog-grid{grid-template-columns:1fr}.blog-main{padding-top:30px}.blog-card-body{padding:18px}}

/* v2.9 — Welcome text immediately after hero */
.welcome-section{margin:0 0 34px;padding:clamp(24px,4vw,54px);background:rgba(255,255,255,.70);border-top:4px solid var(--blue);box-shadow:0 12px 30px rgba(18,60,76,.10)}
.welcome-inner{max-width:1000px;margin:auto}
.welcome-section h2{font-size:clamp(27px,3.6vw,45px);line-height:1.2;color:var(--blue);margin:0 0 12px;font-weight:800;letter-spacing:-.025em}
.welcome-subtitle{font-family:'Caveat',cursive;color:var(--blue);font-size:clamp(24px,3vw,34px);line-height:1.2;margin:0 0 28px}
.welcome-content{font-size:15.5px;line-height:1.9;overflow-wrap:break-word}
.welcome-content p{margin:0 0 17px}.welcome-content p:last-child{margin-bottom:0}
.welcome-content strong{color:var(--navy);font-weight:700}
@media(max-width:600px){.welcome-section{padding:23px 20px;margin-bottom:25px}.welcome-content{font-size:14.5px;line-height:1.8}}
