/* Serena Vittorini 2026 */
body{background:var(--wp--preset--color--ground);color:var(--wp--preset--color--ink)}
.wp-site-blocks{padding-top:0}
:where(.wp-site-blocks)>*{margin-block-start:0}
a{color:inherit}
.sv-label{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--wp--preset--color--mute);margin:0 0 28px}
/* header */
.sv-header{padding:26px clamp(16px,4vw,56px) !important;align-items:center;gap:24px;max-width:none !important}
.sv-header .wp-block-site-title{font-size:15px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin:0}
.sv-header .wp-block-site-title a{text-decoration:none}
.sv-header .wp-block-navigation{font-size:13px;letter-spacing:.12em;text-transform:uppercase;gap:32px}
.sv-header .wp-block-navigation a{text-decoration:none;opacity:.85}
.sv-header .wp-block-navigation a:hover{opacity:1}
.sv-header .cta a{opacity:1;border:1px solid currentColor;padding:11px 20px}
.sv-header .cta a:hover{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--ground)}
/* hero */
.sv-hero{position:relative;margin:0 !important;color:#fff}
.sv-hero .sv-header-over{position:absolute;top:0;left:0;right:0;z-index:5}
.sv-hero .sv-header-over::before{content:"";position:absolute;inset:0 0 -60px;background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,0));pointer-events:none;z-index:-1}
.sv-hero-img{margin:0 !important;position:relative}
.sv-hero-img img{display:block;width:100%;height:auto}
.sv-hero-img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7),rgba(0,0,0,0) 45%);pointer-events:none}
.sv-hero-text{position:absolute;left:clamp(16px,4vw,56px);right:clamp(16px,4vw,56px);bottom:clamp(24px,4vw,64px);z-index:3;margin:0 !important}
.sv-name{font-size:clamp(34px,4.4vw,64px);line-height:1;font-weight:600;letter-spacing:-.02em;margin:0;color:#fff}
.sv-role{font-size:clamp(13px,1.1vw,16px);letter-spacing:.14em;text-transform:uppercase;margin:16px 0 0;color:rgba(255,255,255,.85)}
/* statement */
.sv-main{padding-bottom:0}
.sv-statement{padding:clamp(80px,11vw,160px) 0 clamp(64px,8vw,120px);max-width:1100px}
.sv-lead{font-size:clamp(24px,2.6vw,38px);line-height:1.3;letter-spacing:-.012em;margin:0 0 40px;font-weight:400}
.sv-btn .wp-block-button__link{border-radius:0;background:var(--wp--preset--color--ink);color:var(--wp--preset--color--ground);font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:17px 28px}
.sv-btn.is-style-outline .wp-block-button__link{background:transparent;color:var(--wp--preset--color--ink);border:1px solid var(--wp--preset--color--ink)}
.sv-btn .wp-block-button__link:hover{opacity:.85}
/* images */
.sv-full,.sv-row{margin-top:0 !important;margin-bottom:16px !important}
.sv-full figure,.sv-row figure{margin:0 !important}
.sv-full img,.sv-row img{display:block;width:100%;height:auto !important}
.sv-row{display:flex !important;gap:16px;align-items:flex-start}
.sv-after{display:flex;gap:36px;margin-top:32px !important;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.sv-more a{text-decoration:none;border-bottom:1px solid var(--wp--preset--color--mute);padding-bottom:4px}
.sv-more a:hover{border-color:var(--wp--preset--color--ink)}
/* sections */
.sv-sec{padding-top:clamp(96px,12vw,180px)}
.sv-sec-head{margin-bottom:8px}
.sv-sec-head .sv-label{margin:0}
.sv-clients-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--wp--preset--color--line)}
.sv-clients-grid li{font-size:clamp(17px,1.6vw,22px);padding:22px 24px 22px 0;border-bottom:1px solid var(--wp--preset--color--line);letter-spacing:-.005em}
.sv-how .wp-block-column{border-top:1px solid var(--wp--preset--color--line);padding-top:24px}
.sv-no{font-size:13px;color:var(--wp--preset--color--mute);letter-spacing:.1em;margin:0 0 28px}
.sv-how h3{font-size:22px;font-weight:600;margin:0 0 12px;letter-spacing:-.01em}
.sv-how p:not(.sv-no){color:var(--wp--preset--color--mute);margin:0;line-height:1.6;font-size:16px}
.sv-cta{padding:clamp(96px,12vw,180px) 0 clamp(96px,12vw,160px);text-align:left}
.sv-cta h2{font-size:clamp(32px,4.6vw,68px);line-height:1.05;letter-spacing:-.025em;max-width:16ch;margin:0 0 36px}
/* footer */
.sv-footer{padding:72px clamp(16px,4vw,56px) 36px !important;border-top:1px solid var(--wp--preset--color--line)}
.sv-footer-name{font-size:15px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px}
.sv-footer-role{color:var(--wp--preset--color--mute);font-size:15px;max-width:42ch;margin:0}
.sv-footer-contact{font-size:clamp(18px,1.8vw,24px);line-height:1.6;margin:0}
.sv-footer-contact a{text-decoration:none;border-bottom:1px solid var(--wp--preset--color--line)}
.sv-copy{color:var(--wp--preset--color--mute);font-size:12px;margin-top:64px}
/* pages + galleries */
.sv-page{padding-top:clamp(48px,6vw,96px);padding-bottom:clamp(64px,8vw,120px)}
.sv-lead+.sv-more{margin-top:0}
.sv-gal-head{margin-bottom:clamp(40px,5vw,72px)}
.sv-gal-title{font-size:clamp(44px,6vw,88px);line-height:.95;margin:12px 0 24px;letter-spacing:-.025em}
.sv-gal-head .sv-lead{font-size:clamp(20px,2vw,28px);margin:0}
.sv-gal-body{color:var(--wp--preset--color--mute);font-size:16px;line-height:1.65;margin:0 0 20px}
.sv-gal-head .sv-more a{margin-right:24px}
.sv-more strong{font-weight:600}
.sv-masonry{column-count:3;column-gap:14px}
.sv-masonry>figure{break-inside:avoid;margin:0 0 14px !important;display:block}
.sv-masonry img{width:100%;height:auto;display:block}
.sv-row .ar-150{flex:1.50 1 0;min-width:0}
@media (max-width:1000px){.sv-masonry{column-count:2}.sv-clients-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
 .sv-row{flex-direction:column}.sv-row figure{flex:none !important;width:100%}
 .sv-hero-text{position:static;padding:24px 16px 0;color:var(--wp--preset--color--ink)}
 .sv-name{color:var(--wp--preset--color--ink)}.sv-role{color:var(--wp--preset--color--mute)}
 .sv-hero-img::after{display:none}
 .sv-clients-grid{grid-template-columns:1fr}
 .sv-masonry{column-count:1}
}
.sv-label-note{text-transform:none;letter-spacing:.02em;font-weight:400}
.sv-hero-text .sv-role{margin-top:0;font-size:clamp(13px,1.1vw,15px)}
/* slideshow */
.sv-hero{background:var(--wp--preset--color--ground)}
.sv-slides{position:relative;width:100%;aspect-ratio:3/2;background:#111;overflow:hidden}
.sv-slide{position:absolute;inset:0;margin:0;opacity:0;animation:svfade 18s infinite}
.sv-slide img{width:100%;height:100%;object-fit:contain;display:block}
.sv-s1{animation-delay:-1s}.sv-s2{animation-delay:5s}.sv-s3{animation-delay:11s}
@keyframes svfade{0%{opacity:0}5%{opacity:1}33%{opacity:1}38%{opacity:0}100%{opacity:0}}
.sv-slide figcaption{position:absolute;right:clamp(16px,4vw,56px);bottom:clamp(24px,4vw,64px);z-index:4;text-align:right;display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.sv-slide-no{font-size:12px;letter-spacing:.2em;color:rgba(255,255,255,.75)}
.sv-slide figcaption a{color:#fff;text-decoration:none;font-size:clamp(22px,2.4vw,36px);font-weight:600;letter-spacing:-.01em;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:4px}
.sv-slides::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,0) 40%);pointer-events:none;z-index:3}
@media (prefers-reduced-motion:reduce){.sv-slide{animation:none}.sv-s1{opacity:1}}
/* categories */
.sv-cat{padding-top:clamp(80px,10vw,150px)}
.sv-cat-head{margin-bottom:28px !important;align-items:flex-end}
.sv-cat-title{font-size:clamp(32px,4vw,56px);margin:0;letter-spacing:-.02em}
.sv-cat-head .sv-more{margin:0;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.sv-row .ar-150{flex:1.50 1 0;min-width:0}
.sv-row .ar-140{flex:1.40 1 0;min-width:0}
@media (max-width:700px){.sv-slides{aspect-ratio:3/2;height:auto}.sv-slide figcaption{left:16px;right:16px;align-items:flex-start;text-align:left}}
/* about + contact */
.sv-page-title{font-size:clamp(32px,4.2vw,60px);line-height:1.05;letter-spacing:-.025em;margin:0 0 36px;max-width:18ch}
.sv-body{font-size:clamp(17px,1.35vw,19px);line-height:1.7;color:var(--wp--preset--color--ink);opacity:.88;margin:0 0 22px;max-width:62ch}
.sv-meta{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--mute);margin:36px 0 32px}
.sv-about-img{margin:0 !important;position:sticky;top:32px}
.sv-about-img{overflow:hidden;aspect-ratio:4/5}
.sv-about-img img{width:100%;height:100% !important;display:block;object-fit:cover;object-position:50% 50%;transform:scale(1.35);transform-origin:50% 62%}
.sv-contact-direct{font-size:clamp(20px,2vw,28px);line-height:1.5;margin:36px 0 0}
.sv-contact-direct a{text-decoration:none;border-bottom:1px solid var(--wp--preset--color--line)}
.sv-contact .wpcf7 p{margin:0 0 22px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--wp--preset--color--mute)}
.sv-contact .wpcf7 input[type=text],.sv-contact .wpcf7 input[type=email],.sv-contact .wpcf7 textarea{width:100%;box-sizing:border-box;margin-top:10px;background:transparent;border:0;border-bottom:1px solid var(--wp--preset--color--line);color:var(--wp--preset--color--ink);font:inherit;font-size:18px;letter-spacing:0;text-transform:none;padding:10px 0}
.sv-contact .wpcf7 textarea{border:1px solid var(--wp--preset--color--line);padding:14px;min-height:180px}
.sv-contact .wpcf7 input:focus,.sv-contact .wpcf7 textarea:focus{outline:none;border-color:var(--wp--preset--color--ink)}
.sv-contact .wpcf7 input[type=submit]{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--ground);border:0;border-radius:0;font:inherit;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:17px 32px;cursor:pointer}
.sv-contact .wpcf7-response-output{color:var(--wp--preset--color--ink);border-color:var(--wp--preset--color--line) !important}
@media (max-width:780px){.sv-about-img{position:static}}
.sv-about .sv-page-title,.sv-contact .sv-page-title{margin-top:-.12em}
.sv-about>.wp-block-column,.sv-contact>.wp-block-column{align-self:flex-start}
.sv-main>.sv-statement{max-width:var(--wp--style--global--wide-size) !important}
.sv-statement .sv-lead,.sv-statement .sv-label{max-width:1100px}
@media (max-width:700px){
 .sv-slide figcaption{bottom:12px;gap:4px}
 .sv-slide figcaption a{font-size:18px}
 .sv-slide-no{font-size:10px}
 .sv-hero-text{padding:20px 16px 0}
}
/* white theme refinements */
.sv-header .cta a:hover{background:var(--wp--preset--color--ink);color:#fff}
.sv-hero .sv-header-over .cta a:hover{background:#fff;color:#141414}
/* entry tiles */
.sv-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 auto;padding-top:clamp(16px,3vw,40px)}
.sv-tile{display:block;text-decoration:none;color:var(--wp--preset--color--ink)}
.sv-tile-img{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--wp--preset--color--panel)}
.sv-tile-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.sv-tile:hover .sv-tile-img img{transform:scale(1.03)}
.sv-tile-text{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;border-bottom:1px solid var(--wp--preset--color--line);padding-bottom:14px}
.sv-tile-title{font-size:clamp(22px,2.2vw,32px);font-weight:600;letter-spacing:-.015em}
.sv-tile-more{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--wp--preset--color--mute)}
.sv-tile:hover .sv-tile-more{color:var(--wp--preset--color--ink)}
@media (max-width:900px){.sv-tiles{grid-template-columns:1fr;gap:32px}}
/* stacked full-screen tiles */
.sv-tiles{grid-template-columns:1fr !important;gap:16px !important;width:100vw !important;max-width:none !important;margin-left:calc(50% - 50vw) !important;margin-right:0 !important;padding-top:clamp(16px,3vw,40px)}
.sv-tile{position:relative;color:#fff}
.sv-tile-img{aspect-ratio:3/2;width:100%;background:#111}
.sv-tile-img img{object-fit:cover}
.sv-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,0) 38%);pointer-events:none}
.sv-tile-text{position:absolute;left:clamp(16px,4vw,56px);right:clamp(16px,4vw,56px);bottom:clamp(20px,4vw,56px);z-index:2;border:0;padding:0;align-items:flex-end}
.sv-tile-title{font-size:clamp(34px,5vw,72px);color:#fff}
.sv-tile-more{color:#fff;opacity:.85;border-bottom:1px solid rgba(255,255,255,.7);padding-bottom:4px}
.sv-tile:hover .sv-tile-more{color:#fff;opacity:1}
@media (max-width:900px){.sv-tiles{gap:10px !important}}
.sv-tiles{width:100% !important;margin-left:0 !important}
.sv-main>.sv-tiles{max-width:none !important;margin-left:calc(-1 * var(--wp--style--root--padding-left, 0px)) !important;margin-right:calc(-1 * var(--wp--style--root--padding-right, 0px)) !important;width:auto !important}
.sv-brand{margin:0}
.sv-brand a{text-decoration:none;font-weight:700;letter-spacing:.2em;text-transform:uppercase;font-size:15px}
.sv-brand span{font-weight:400;letter-spacing:.16em;opacity:.8}
.sv-footer-person,.sv-contact-person{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--wp--preset--color--mute)}
@media (max-width:600px){.sv-brand span{display:none}}
/* uniform gallery grid */
.sv-gal{display:flex !important;flex-direction:column;gap:28px}
.sv-gal>*{margin:0 !important}
.sv-g-pair{display:grid !important;grid-template-columns:1fr 1fr;gap:28px}
.sv-g-pair>*,.sv-g-full>*{margin:0 !important}
.sv-ph{aspect-ratio:3/2;overflow:hidden;background:var(--wp--preset--color--panel)}
.sv-ph img{width:100%;height:100% !important;object-fit:cover;display:block;cursor:zoom-in;transition:opacity .25s}
.sv-ph img:hover{opacity:.92}
.sv-ph.sv-fit img{object-fit:contain}
.sv-about-img img{cursor:zoom-in}
@media (max-width:700px){.sv-gal{gap:12px}.sv-g-pair{grid-template-columns:1fr;gap:12px}}
/* lightbox */
.sv-lb{position:fixed;inset:0;z-index:99999;background:rgba(10,10,10,.96);display:none;align-items:center;justify-content:center}
.sv-lb.is-open{display:flex}
.sv-lb-img{max-width:94vw;max-height:92vh;width:auto;height:auto;object-fit:contain;display:block}
.sv-lb button{position:absolute;background:transparent;border:0;color:#fff;cursor:pointer;line-height:1;padding:12px;opacity:.8}
.sv-lb button:hover,.sv-lb button:focus-visible{opacity:1;outline:none}
.sv-lb-close{top:14px;right:18px;font-size:40px}
.sv-lb-prev,.sv-lb-next{top:50%;transform:translateY(-50%);font-size:64px;min-width:56px;min-height:56px}
.sv-lb-prev{left:10px}.sv-lb-next{right:10px}
.sv-lb-count{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.75);font-size:12px;letter-spacing:.16em}
@media (max-width:700px){.sv-lb-prev,.sv-lb-next{font-size:44px}.sv-lb-img{max-width:100vw;max-height:84vh}}
.sv-lb{background:rgba(10,10,10,.97) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='16' fill='none' stroke='%23777' stroke-width='2' stroke-dasharray='25 80'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 20 20' to='360 20 20' dur='1s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") center no-repeat}

/* hemicycle crop */ .sv-s1 img{transform:scale(1.22);transform-origin:50% 92%}
