@font-face{font-family:Midnight;src:url(//www.antoniofesta.com/wp-content/themes/afa-portfolio/site/assets/fonts/MidnightTenderness-Regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#fff;--ink:#374437;--muted:#687267;--line:#dce1d9;--soft:#f1f3ee;--radius:15px;--gutter:32px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.5 Midnight,sans-serif;-webkit-font-smoothing:antialiased}body.menu-open{overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400;line-height:1.18}h1{font-size:clamp(32px,4.2vw,56px);letter-spacing:-.025em}h2{font-size:clamp(28px,3.1vw,40px);letter-spacing:-.02em}h3{font-size:24px}p+p{margin-top:1em}ul{margin:0;padding:0;list-style:none}button{border:0;background:none;padding:0}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:6px}[hidden]{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:18px;line-height:1.45;color:var(--muted)}.arrow{display:inline-block;margin-left:10px;transition:transform .2s}.text-link{display:inline-flex;align-items:center;gap:10px;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}.text-link:hover .arrow{transform:translate(3px,-3px)}.skip{position:fixed;top:8px;left:8px;padding:10px 16px;background:var(--paper);z-index:100;transform:translateY(-180%)}.skip:focus{transform:none}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.header-inner{height:94px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1800px;margin:auto}.menu-toggle{display:flex;align-items:center;gap:13px;min-height:44px}.menu-icon{width:24px;height:24px;position:relative;display:block}.menu-icon:before,.menu-icon:after{content:'';position:absolute;height:1px;width:24px;left:0;background:currentColor;top:8px;transition:transform .25s,top .25s}.menu-icon:after{top:15px}.menu-open .menu-icon:before{top:12px;transform:rotate(45deg)}.menu-open .menu-icon:after{top:12px;transform:rotate(-45deg)}.brand{display:flex;align-items:center;gap:17px;font-size:24px;white-space:nowrap;line-height:1.25}.brand img{width:72px}.nav-panel{position:absolute;top:94px;left:0;right:0;padding:27px var(--gutter) 32px;background:rgba(255,255,255,.87);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 20px rgb(55 68 55 / .04)}.nav-inner{max-width:1736px;margin:auto;display:flex;align-items:center;gap:40px}.nav-inner>a{font-size:24px}.nav-inner>a:hover,.nav-inner>a[aria-current=page]{text-decoration:underline;text-underline-offset:8px}.languages{display:flex;gap:12px;align-items:center;margin-left:auto}.languages [aria-current=page]{text-decoration:underline;text-underline-offset:6px}.languages .separator{color:#adb3a9}.layout{max-width:1800px;margin:0 auto;padding:0 var(--gutter)}.hero-media{position:relative;overflow:hidden;background:var(--soft)}.hero-media img{width:100%;height:calc(100svh - 190px);max-height:920px;min-height:400px;object-fit:cover;object-position:center 52%}.round-mode .rounded{border-radius:var(--radius)}.rounded{overflow:hidden;transition:border-radius .28s ease}.hero-caption{display:flex;align-items:start;justify-content:space-between;gap:24px;padding-top:19px}.hero-caption h1{font-size:24px;letter-spacing:0;line-height:1.35}.hero-caption p{font-size:18px}.hero-caption a:hover{text-decoration:underline;text-underline-offset:5px}.hero-caption .location{color:var(--muted);text-align:right}.section{padding:110px 0}.section-label{font-size:18px;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:60px;align-items:start}.intro-grid h2{max-width:850px}.intro-grid .copy{max-width:660px;margin-top:28px}.intro-grid .text-link{margin-top:30px}.selected-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:70px 42px;align-items:start}.selected-grid .project-card:nth-child(even){margin-top:150px}.project-card .media{overflow:hidden;background:var(--soft)}.project-card img{aspect-ratio:4/3;object-fit:cover;transition:transform .7s ease}.project-card:hover img{transform:scale(1.018)}.project-card .caption{padding-top:17px;display:flex;align-items:start;justify-content:space-between;gap:18px}.project-card h3{font-size:24px;line-height:1.3}.project-card .detail{color:var(--muted);margin-top:6px;font-size:18px}.project-card .credit{font-size:16px;color:var(--muted);margin-top:5px;max-width:500px}.project-card .go{font-size:24px;line-height:1.2}.project-card .category{font-size:16px;margin-top:8px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:42px}.statement{max-width:1100px;margin:0 auto;text-align:center;padding:80px 0 130px}.statement h2{font-size:clamp(32px,4vw,52px)}.statement p{margin-top:25px;max-width:620px;margin-left:auto;margin-right:auto}.statement .text-link{margin-top:28px}.service-teaser{display:grid;grid-template-columns:1fr 2fr;gap:60px}.mini-services{display:grid;grid-template-columns:1fr 1fr;gap:22px 42px}.mini-services a{display:flex;gap:16px;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--line);font-size:24px}.mini-services a:hover{text-decoration:underline;text-underline-offset:5px}.service-teaser .text-link{margin-top:32px}.contact-cta{padding:100px 0 110px}.contact-cta h2{max-width:900px}.contact-cta .cta-line{display:flex;align-items:center;justify-content:space-between;gap:36px;margin-top:35px}.contact-cta .cta-line p{max-width:520px;color:var(--muted)}.contact-cta .cta-line a{font-size:24px;white-space:nowrap}.site-footer{max-width:1800px;padding:45px var(--gutter) 25px;margin:0 auto;font-size:16px}.footer-row{display:flex;justify-content:space-between;align-items:start;gap:24px}.footer-row+.footer-row{margin-top:15px}.footer-brand{font-size:18px}.footer-contacts{display:flex;gap:35px}.footer-links{display:flex;gap:25px}.site-footer a:hover{text-decoration:underline;text-underline-offset:5px}.round-toggle{display:flex;align-items:center;gap:8px}.round-checkbox{width:12px;height:12px;border:1px solid currentColor;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;line-height:1}.round-toggle[aria-pressed=true] .round-checkbox:after{content:'×'}.page-intro{padding:65px 0 65px;max-width:1100px}.page-intro .eyebrow{margin-bottom:22px}.page-intro p{max-width:720px;margin-top:25px}.page-intro .lead{font-size:24px;line-height:1.4}.filters{display:flex;gap:12px 28px;flex-wrap:wrap;margin-bottom:45px;align-items:center}.filter{min-height:44px;color:var(--muted)}.filter[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:7px}.project-count{margin-left:auto;color:var(--muted);font-size:16px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px 36px;padding-bottom:80px}.project-grid .project-card:nth-child(4n+2){padding-top:80px}.project-grid .project-card:nth-child(4n+3){padding-top:10px}.project-grid .project-card:nth-child(3n) img{aspect-ratio:1.4}.filter-empty{padding:50px 0}.project-heading{padding:40px 0 40px;display:grid;grid-template-columns:1fr 2fr;gap:40px}.back-link{align-self:start;font-size:18px;display:inline-flex;gap:10px}.project-heading .eyebrow{margin-bottom:14px}.project-heading h1{max-width:900px}.project-heading .subtitle{font-size:24px;line-height:1.4;margin-top:22px;max-width:800px}.project-heading .attribution{color:var(--muted);margin-top:20px;font-size:18px}.project-hero img{max-height:850px;width:100%;object-fit:contain;background:var(--soft)}.project-hero button{width:100%;display:block;cursor:zoom-in}.project-meta{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding:65px 0 90px}.project-facts{display:grid;gap:23px}.project-facts dt{color:var(--muted);font-size:16px;margin-bottom:4px}.project-facts dd{font-size:18px;max-width:360px}.project-description{max-width:800px;font-size:24px;line-height:1.55}.project-description .credit-note{font-size:18px;line-height:1.5;padding-top:28px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px 30px;align-items:start}.gallery-grid figure:nth-child(3n){grid-column:1/-1}.gallery-grid button{display:block;cursor:zoom-in;width:100%;background:var(--soft)}.gallery-grid img{max-height:850px;object-fit:contain;width:100%}.gallery-grid figcaption{font-size:16px;color:var(--muted);margin-top:11px;line-height:1.4}.project-next{display:flex;justify-content:space-between;align-items:start;gap:40px;padding:100px 0 70px}.project-next h2{font-size:24px;margin-top:12px}.project-next a:last-child{text-align:right}.studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;padding-bottom:90px}.studio-grid .studio-photo{margin-top:12px}.studio-grid .studio-photo img{aspect-ratio:4/5;object-fit:cover}.studio-grid .studio-copy{max-width:660px}.studio-grid .studio-copy .lead{font-size:24px;line-height:1.45;margin-bottom:32px}.studio-grid .studio-copy p{margin-top:24px}.vita-section{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding-bottom:100px}.vita{margin-top:-15px}.vita li{display:grid;grid-template-columns:140px 1fr;gap:30px;padding:22px 0;border-bottom:1px solid var(--line)}.vita .period{color:var(--muted)}.vita h3{font-size:24px;line-height:1.35}.vita .organisation{margin-top:5px}.vita .note{color:var(--muted);margin-top:6px;font-size:16px}.languages-copy{margin-top:48px;max-width:700px}.languages-copy h3{margin-bottom:15px}.services-page{padding-bottom:80px}.service-row{display:grid;grid-template-columns:90px 1fr 1.3fr;gap:35px;padding:37px 0 43px;border-top:1px solid var(--line);scroll-margin-top:125px}.service-row h2{font-size:28px}.service-row .number{color:var(--muted)}.service-row .outcome{margin-top:24px;color:var(--muted)}.service-row .outcome span{display:block;color:var(--ink);margin-bottom:6px}.process{display:grid;grid-template-columns:1fr 2fr;gap:60px;padding-top:80px}.process ol{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:35px}.process h3{margin-bottom:12px}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;padding:0 0 100px}.contact-details{font-size:clamp(24px,3vw,40px);line-height:1.7}.contact-details a{display:table}.contact-details a:hover{text-decoration:underline;text-underline-offset:8px}.contact-details address{font-size:18px;line-height:1.5;font-style:normal;margin-top:40px;color:var(--muted)}.contact-note{max-width:500px}.contact-note h2{font-size:24px;margin-bottom:22px}.contact-note ul{margin-top:20px}.contact-note li{padding:12px 0;border-bottom:1px solid var(--line)}.legal-wrap{max-width:800px;margin:20px auto 100px}.legal-wrap h2{font-size:24px;margin:40px 0 18px}.legal-wrap .legal-details{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-bottom:40px}.legal-wrap address{font-style:normal}.legal-wrap p{line-height:1.6}.draft-note{border-left:2px solid var(--ink);padding-left:20px;color:var(--muted);margin-bottom:35px;font-size:16px}.lightbox{border:0;padding:25px;width:100vw;max-width:100vw;height:100svh;max-height:100svh;background:#1c231d;color:#fff}.lightbox::backdrop{background:#1c231d}.lightbox-content{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:15px}.lightbox-bar{display:flex;justify-content:space-between;align-items:start;gap:25px}.lightbox-close{font-size:32px;line-height:1;min-width:44px;min-height:44px}.lightbox-image{width:100%;height:100%;object-fit:contain}.lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;font-size:16px}.lightbox-buttons{display:flex;gap:24px}.lightbox-buttons button{font-size:28px;min-width:44px;min-height:44px}.lightbox button:focus-visible{outline-color:#fff}.noscript-note{padding:15px var(--gutter);background:var(--soft)}
@media(min-width:1500px){:root{--gutter:42px}.header-inner{height:104px}.nav-panel{top:104px}.hero-media img{height:calc(100svh - 200px)}}
@media(max-width:900px){:root{--gutter:24px}.brand{font-size:24px}.brand img{width:58px}.intro-grid,.service-teaser,.project-meta,.vita-section,.process{grid-template-columns:1fr 2.4fr;gap:30px}.section{padding:80px 0}.selected-grid{gap:45px 28px}.selected-grid .project-card:nth-child(even){margin-top:90px}.hero-media img{min-height:380px;height:calc(82svh - 155px)}.studio-grid{gap:40px}.project-heading{grid-template-columns:1fr 3fr;gap:25px}.service-row{grid-template-columns:45px 1fr 1.6fr;gap:22px}.footer-contacts{gap:24px}.contact-grid{gap:45px}.project-description{font-size:24px}.nav-inner{gap:28px}.nav-inner>a{font-size:24px}}
@media(max-width:600px){:root{--gutter:20px;--radius:12px}.header-inner{height:78px;gap:12px}.menu-label{display:none}.brand{font-size:18px;gap:10px}.brand img{width:43px}.nav-panel{top:78px;padding:28px var(--gutter) 36px;background:rgba(255,255,255,.94)}.nav-inner{align-items:start;flex-direction:column;gap:24px}.nav-inner>a{font-size:28px}.languages{margin-left:0;gap:18px;padding-top:8px}.hero-media img{height:63svh;max-height:600px;min-height:330px;object-position:56% center}.hero-caption{gap:20px;padding-top:15px}.hero-caption h1{font-size:24px}.hero-caption .location{font-size:16px;max-width:130px}.hero-caption p{font-size:16px}.hero-caption .subtitle{display:none}.section{padding:72px 0}.intro-grid,.service-teaser,.project-meta,.vita-section,.process,.project-heading,.studio-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.intro-grid .copy{margin-top:24px}.intro-grid h2{font-size:32px}.selected-grid{grid-template-columns:1fr;gap:44px}.selected-grid .project-card:nth-child(even){margin-top:0}.section-heading{align-items:start;gap:20px;margin-bottom:28px}.section-heading h2{font-size:28px}.section-heading .text-link{font-size:16px;white-space:nowrap;padding-top:8px}.project-card h3{font-size:24px}.project-card .detail,.project-card .credit{font-size:16px}.statement{padding:40px 0 80px;text-align:left}.statement h2{font-size:32px}.statement p{margin-left:0}.mini-services{grid-template-columns:1fr;gap:0}.mini-services a{font-size:24px}.contact-cta{padding:75px 0}.contact-cta h2{font-size:32px}.contact-cta .cta-line{align-items:start;flex-direction:column;gap:26px;margin-top:25px}.contact-cta .cta-line a{font-size:24px;white-space:normal}.site-footer{padding-top:30px}.footer-row{flex-direction:column;gap:18px}.footer-row+.footer-row{margin-top:24px;flex-direction:row;align-items:start}.footer-contacts{flex-direction:column;gap:0}.footer-links{gap:18px;font-size:16px}.footer-copyright{display:none}.round-toggle{font-size:16px;white-space:nowrap}.page-intro{padding:45px 0 40px}.page-intro h1{font-size:36px}.page-intro .lead{font-size:24px}.filters{gap:4px 22px;margin-bottom:30px}.filter{font-size:16px}.project-count{font-size:16px;width:100%;margin-left:0}.project-grid{grid-template-columns:1fr;gap:42px;padding-bottom:30px}.project-grid .project-card:nth-child(n){padding-top:0}.project-heading{padding:32px 0 35px}.project-heading h1{font-size:36px}.project-heading .subtitle{font-size:24px}.project-heading .attribution{font-size:16px;margin-top:15px}.project-hero img{max-height:70svh}.project-meta{padding:40px 0 55px;gap:38px}.project-facts{grid-template-columns:1fr 1fr;gap:20px 25px}.project-facts dd{font-size:16px}.project-description{font-size:24px;line-height:1.5}.project-description .credit-note{font-size:16px}.gallery-grid{grid-template-columns:1fr;gap:30px}.gallery-grid figure:nth-child(n){grid-column:auto}.project-next{padding:65px 0 45px;gap:20px}.project-next h2{font-size:24px}.studio-grid{gap:35px;padding-bottom:65px}.studio-grid .studio-photo{order:2;max-width:100%;width:100%}.studio-grid .studio-photo img{aspect-ratio:4/3}.studio-grid .studio-copy .lead{font-size:24px}.vita-section{gap:25px;padding-bottom:65px}.vita li{grid-template-columns:100px 1fr;gap:20px;padding:20px 0}.vita h3{font-size:24px}.vita .period,.vita .organisation{font-size:16px}.languages-copy{margin-top:30px}.service-row{grid-template-columns:28px 1fr;gap:20px;padding:28px 0 32px}.service-row h2{font-size:24px}.service-row .service-body{grid-column:2}.service-row .outcome{margin-top:20px}.process{padding-top:55px}.process ol{grid-template-columns:1fr;gap:28px}.contact-grid{gap:50px;padding-bottom:55px}.contact-details{font-size:28px}.contact-details address{margin-top:30px}.legal-wrap{margin:0 auto 65px}.legal-wrap .legal-details{grid-template-columns:1fr;gap:25px}.lightbox{padding:18px}.lightbox-bottom{align-items:start;gap:15px}.lightbox-buttons{gap:8px}.lightbox-bar{font-size:16px}.lightbox-counter{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.legal-wrap p{overflow-wrap:anywhere}.lightbox-caption{min-width:0;overflow-wrap:anywhere}.lightbox-buttons{flex-shrink:0}
@media(max-width:360px){.header-inner{padding-left:16px;padding-right:16px;gap:8px}.brand{gap:8px}.brand img{width:24px;min-width:24px}}

@media(max-width:360px){.contact-details{font-size:24px}}
@media(max-width:600px){.footer-row+.footer-row{flex-wrap:wrap}}
h1,h2,h3{overflow-wrap:anywhere}
@media(max-width:600px){.section-heading{flex-wrap:wrap}}@font-face{font-family:Carlito;src:url(//www.antoniofesta.com/wp-content/themes/afa-portfolio/site/assets/fonts/Carlito-Regular.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap}
body{font-family:var(--font-text,Carlito,sans-serif)}
h1,h2{font-family:Midnight,sans-serif}
h3,.legal-wrap h2,.project-next h2,.contact-note h2,.details h2{font-family:var(--font-text,Carlito,sans-serif)}
:root{--radius:8px;--bar-height:66.24px;--footer-height:82.8px;--cover-name:#59645d;--cover-discipline:#30402e}
html{scroll-padding-top:calc(var(--bar-height) + 20px)}
.site-header{background:rgb(255 255 255 / .45);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);column-gap:12px;height:var(--bar-height)}
.blue-logo{display:block;justify-self:start;width:145.6px;max-width:100%;min-width:0}
.blue-logo img{width:100%;height:auto}
.header-name{justify-self:center;font:400 26.4px/1.3 var(--font-text,Carlito,sans-serif);white-space:nowrap;color:var(--cover-name)}
.header-discipline{color:var(--cover-discipline)}
.menu-toggle{justify-self:end;justify-content:center;width:61.6px;height:min(61.6px,var(--bar-height));gap:0}
html[lang] .menu-toggle{justify-self:start}
html[lang] .blue-logo{justify-self:end}
.menu-icon{display:flex;flex-direction:column;justify-content:center;gap:8.4px;width:44.8px;height:44.8px}
.menu-icon:before,.menu-icon:after{display:none}
.menu-icon i{display:block;width:44.8px;height:2.1px;background:currentColor;transition:transform .22s,opacity .22s}
.menu-open .menu-icon i:nth-child(1){transform:translateY(10.5px) rotate(45deg)}
.menu-open .menu-icon i:nth-child(2){opacity:0}
.menu-open .menu-icon i:nth-child(3){transform:translateY(-10.5px) rotate(-45deg)}
.nav-panel{top:var(--bar-height);left:0;right:0;width:100%;max-width:none;height:var(--bar-height);padding:0 var(--gutter);background:rgb(255 255 255 / .72)}
.nav-inner{height:100%;align-items:center;flex-wrap:nowrap}
.nav-inner .languages{height:100%;align-items:center;flex-shrink:0}
.nav-inner .languages a{display:flex;align-items:center;height:100%}
.nav-inner>a{font-family:var(--font-text,Carlito,sans-serif)}
.site-footer{max-width:none;background:#efefed;height:var(--footer-height);min-height:0;padding:0 var(--gutter);font:400 18px/22px var(--font-text,Carlito,sans-serif);display:flex;align-items:center}
.footer-inner{width:100%;max-width:1716px;margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:start;transform:translateY(-4px)}
.footer-block{display:flex;flex-direction:column;gap:0}
.footer-block:nth-child(2){justify-self:center}
.footer-block:nth-child(3){justify-self:end}
.footer-block a{width:fit-content}
.lightbox-buttons button{font:400 16px/1.3 var(--font-text,Carlito,sans-serif);min-width:55px}
.project-card .go,.arrow{display:none}
.project-card .caption,.project-card>.credit{display:none}
.project-card>a{display:block;position:relative}
.project-card .hover-title{position:absolute;inset:0;padding:20px;display:grid;place-items:center;text-align:center;color:#fff;font:400 27px/1.2 var(--font-text,Carlito,sans-serif);opacity:0;transition:opacity .2s;z-index:1;pointer-events:none}
.project-card .media:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 40%,rgb(0 0 0 / .55));opacity:0;transition:opacity .2s;pointer-events:none;border-radius:var(--radius)}
.project-card>a:hover .hover-title,.project-card>a:focus-visible .hover-title{opacity:1;transform:none}
.project-card>a:hover .media:after,.project-card>a:focus-visible .media:after{opacity:1}
.project-card .media{position:relative}
@media(max-width:600px){
 :root{--bar-height:57.6px;--footer-height:72px}
 .header-inner{column-gap:8px}
 .blue-logo{width:106.4px}
 .header-name{font-size:21.6px;line-height:1.05;text-align:center}
 .header-discipline{display:block}
 .nav-panel{top:var(--bar-height)}
 .nav-inner{flex-direction:row;align-items:center;justify-content:space-between;gap:8px}
 .nav-inner>a{display:flex;align-items:center;height:100%;font-size:16px;line-height:1.2;white-space:nowrap}
 .languages{margin-left:auto;gap:6px;padding-top:0;font-size:14px;white-space:nowrap}
 .languages a{display:flex;align-items:center;height:100%}
 .site-footer{padding:0 12px;font-size:16px;line-height:20px;letter-spacing:-.015em}
 .footer-inner{grid-template-columns:max-content max-content max-content;justify-content:space-between;gap:10px}
 .footer-block:nth-child(2){justify-self:center}
 .footer-block:nth-child(3){justify-self:end}
 .footer-block a{white-space:nowrap}
 .project-card .hover-title{font-size:26px}
}
@media(max-width:360px){.header-inner{padding-inline:12px}.header-name{font-size:20.4px}.blue-logo{width:89.6px}.footer-inner{gap:0}.site-footer{padding-inline:8px;font-size:15px;line-height:20px;letter-spacing:-.04em}}
@media(max-width:360px){.nav-panel{padding-inline:12px}.nav-inner{gap:6px}.nav-inner>a{font-size:14px}.languages{font-size:13px;gap:4px}}
@media(hover:none),(pointer:coarse){.project-card .hover-title,.project-card .media:after{opacity:1}.project-card .hover-title{transform:none}}
.footer-block:nth-child(2){align-items:center;text-align:center}.footer-block:nth-child(3){align-items:flex-end;text-align:right}
@media(max-width:600px){.project-card .hover-title,.project-card .media:after{opacity:1}.project-card .hover-title{transform:none}}html[lang] .project-detail-page .project-heading{display:block;position:relative}
html[lang] .project-detail-page .project-heading>.back-link{position:absolute;top:40px;left:0;font-size:22px}
html[lang] .project-detail-page .project-heading>div{text-align:center}
html[lang] .project-detail-page .project-heading .eyebrow{padding-inline:130px}
html[lang] .project-detail-page .project-heading :is(h1,.subtitle){margin-inline:auto}
@media(max-width:600px){
 html[lang] .project-detail-page .project-heading>.back-link{position:static}
 html[lang] .project-detail-page .project-heading>div{margin-top:28px}
 html[lang] .project-detail-page .project-heading .eyebrow{padding-inline:0}
}

/* Full-width opening image, then one curated and complete image composition. */
html[lang] .project-detail-page :is(.project-hero,.project-hero button,.project-hero img){background:transparent}
html[lang] .project-detail-page .project-hero img{width:100%;height:auto;max-height:none;object-fit:contain}
html[lang] .project-detail-page .gallery-grid{display:grid;grid-template-columns:var(--gallery-columns,repeat(2,minmax(0,1fr)));gap:28px 24px;align-items:stretch}
html[lang] .project-detail-page .gallery-grid>figure{grid-column:auto;grid-row:auto;min-width:0;margin:0;display:grid;grid-template-rows:auto auto;align-content:start}
html[lang] .project-detail-page .gallery-grid .project-media{position:relative;width:100%;height:auto;max-height:none;min-height:0;aspect-ratio:var(--frame-ratio,var(--gallery-aspect));background:transparent;overflow:hidden}
html[lang] .project-detail-page .gallery-grid .project-media img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:var(--media-fit,cover);object-position:var(--media-position,50% 50%);background:transparent}
html[lang] .project-detail-page .gallery-grid .media-drawing{background:#fff}
html[lang] .project-detail-page .gallery-grid .media-drawing img{inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);object-fit:contain}
html[lang] .project-detail-page .gallery-grid figcaption{min-height:1.4em;margin-top:12px;font-size:16px;line-height:1.4}
html[lang] .project-detail-page .gallery-grid:not(.gallery-captioned) figcaption{display:none}
html[lang] .project-detail-page .gallery-grid>:is(.gallery-portrait-feature,.gallery-portrait-left-feature){grid-column:2;grid-row:1/span 2;grid-template-rows:minmax(0,1fr) auto;align-content:stretch}
html[lang] .project-detail-page .gallery-grid>:is(.gallery-portrait-feature,.gallery-portrait-left-feature) .project-media{height:100%;aspect-ratio:auto}
html[lang] .project-detail-page .gallery-grid>.gallery-portrait-left-feature{grid-column:1}
html[lang] .project-detail-page .gallery-grid>.gallery-wide-feature{grid-column:1/-1}
html[lang] .project-detail-page .gallery-grid>.gallery-wide-feature .project-media{aspect-ratio:var(--frame-ratio,2/1)}
html[lang] .project-detail-page .gallery-stack>figure:nth-child(n){grid-column:1/-1}
html[lang] .project-detail-page .gallery-stack .media-drawing img{inset:0;width:100%;height:100%}
html[lang] .project-detail-page .gallery-grid>.gallery-landscape-feature{grid-column:1/-1}
html[lang] .project-detail-page .gallery-grid>.gallery-shared-group{grid-column:1/-1}
html[lang] .project-detail-page .gallery-shared-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
html[lang] .project-detail-page .gallery-shared-group>figcaption{text-align:center}
html[lang] .project-detail-page .gallery-single>figure:nth-child(n){grid-column:1/-1}
html[lang] .project-detail-page .gallery-more{text-align:center;padding-top:20px}
html[lang] .project-detail-page .gallery-more button{font:400 18px/1.5 var(--font-text);text-decoration:underline;text-underline-offset:5px}
@media(max-width:600px){
 html[lang] .project-detail-page .gallery-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 html[lang] .project-detail-page .gallery-shared-images{grid-template-columns:minmax(0,1fr)}
 html[lang] .project-detail-page .gallery-grid>figure:nth-child(n){grid-column:1;grid-row:auto;grid-template-rows:auto auto;align-content:start}
 html[lang] .project-detail-page .gallery-grid>:is(.gallery-portrait-feature,.gallery-portrait-left-feature) .project-media{height:auto;aspect-ratio:4/5}
 html[lang] .project-detail-page .gallery-grid>.gallery-wide-feature .project-media{aspect-ratio:3/2}
}

html[lang] .project-detail-page .gallery-tight .media-drawing{background:transparent}
html[lang] .project-detail-page .gallery-tight .media-drawing img{inset:0;width:100%;height:100%}
@font-face{font-family:Carlito;src:url(//www.antoniofesta.com/wp-content/themes/afa-portfolio/site/assets/fonts/Carlito-Regular.ttf) format('truetype');font-style:normal;font-weight:400;font-display:swap}
.contact-cta-compact{display:flex;justify-content:center;padding:44px 0 60px}
.contact-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;max-width:100%;padding:14px 26px;border:1px solid var(--ink);border-radius:8px;font:400 22px/1.3 var(--font-text,Carlito,sans-serif);text-align:center;white-space:normal;transition:background-color .2s,color .2s}
.contact-button span{display:block;text-wrap:balance}
.contact-button:hover{background:var(--ink);color:var(--paper)}
.contact-button:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
.studio-page .vita-section{padding-bottom:24px}
.project-next{padding-bottom:24px}
@media(max-width:600px){
 .contact-cta-compact{padding:32px 0 40px}
 .contact-button{font-size:20px;padding:14px 20px}
}
@media(prefers-reduced-motion:reduce){.contact-button{transition:none}}@font-face{font-family:"Instrument Sans";src:url(//www.antoniofesta.com/wp-content/themes/afa-portfolio/site/assets/fonts/InstrumentSans-Regular.woff2) format('woff2');font-style:normal;font-weight:400;font-display:swap}
html[lang]{--font-text:"Instrument Sans",sans-serif}
html[lang] :is(.header-name,.nav-panel,.nav-inner>a,.languages,.option-project-title,.project-card .hover-title,.project-strip-title){font-family:Midnight,sans-serif}
@media(max-width:600px){html[lang] .site-footer{font-size:clamp(12px,3.733vw,16px)}}
@media(max-width:340px){html[lang] .header-name{font-size:18px}}/* Shared dark preview. Keep the existing layout and image assets. */
html[lang] {
  color-scheme: dark;
  --paper: #0f0f0f;
  --ink: #f2f1ed;
  --muted: #b9c1b7;
  --line: #3b403b;
  --soft: #171a17;
  --cover-name: #b4c0b7;
  --cover-discipline: #fff;
  --focus: #d5e5cd;
  background: var(--paper);
}

html[lang] body {
  background: var(--paper);
  color: var(--ink);
}

html[lang] .site-header {
  background: rgb(15 15 15 / .8);
}

html[lang] .nav-panel {
  background: rgb(15 15 15 / .85);
  box-shadow: 0 12px 20px rgb(0 0 0 / .2);
}

html[lang] .languages .separator {
  color: var(--muted);
}

html[lang] .site-footer {
  background: #181a18;
}

html[lang] .lightbox,
html[lang] .lightbox::backdrop {
  background: var(--paper);
}

html[lang] .lightbox {
  color: var(--ink);
}

html[lang] :is(a, button, summary, input, textarea, select):focus-visible {
  outline: 2px solid var(--focus);
  outline-offset: 6px;
}

html[lang] :is(.option-project-link, .project-strip-link):focus-visible {
  outline-offset: -5px;
}

html[lang] .contact-button:focus-visible {
  outline-offset: 5px;
}/* A compact 90% presentation, with the original home image-title size retained. */
html[lang] {
  --site-scale: .9;
  zoom: var(--site-scale);
}
html[lang] :is(.option-project-title, .project-card .hover-title, .project-strip-title) {
  font-size: calc(34px / var(--site-scale));
  line-height: 1.2;
}
/* Keep the image viewer covering the viewport while its controls scale down. */
html[lang] .lightbox {
  width: calc(100vw / var(--site-scale));
  max-width: calc(100vw / var(--site-scale));
  height: calc(100svh / var(--site-scale));
  max-height: calc(100svh / var(--site-scale));
}
@media (max-width: 600px) {
  html[lang] :is(.option-project-title, .project-card .hover-title, .project-strip-title) {
    font-size: calc(27px / var(--site-scale));
  }
}/* All presentation changes in this file are restricted to mobile. */
@media(max-width:600px){
 html[lang] .header-inner{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:8px;align-items:center}
 html[lang] .header-name{grid-column:1;grid-row:1;justify-self:center;width:max-content;min-width:0;text-align:left;font-size:clamp(15px,4.5vw,20.25px);line-height:1.1}
 html[lang] .menu-toggle{grid-column:2;grid-row:1;justify-self:stretch;width:100%;min-width:0}
 html[lang] .menu-icon{width:var(--optical-width,100%);align-items:center}
 html[lang] .menu-icon i{width:100%}
 html[lang] .menu-open .menu-icon i{width:44.8px}
 html[lang] .blue-logo{grid-column:3;grid-row:1;justify-self:center;width:var(--optical-width,100%);position:relative;aspect-ratio:1980/690;overflow:hidden}
 html[lang] .blue-logo img{position:absolute;width:106.212121%;max-width:none;height:auto;left:-3.131313%;top:-4.927536%}
 html[lang] .nav-inner{gap:6px}
 html[lang] .nav-inner>a{font-size:18px}
 html[lang] .nav-inner .languages{font-size:16px;gap:6px}
 html[lang] .nav-inner .languages,html[lang] .nav-inner .languages :is(a,.separator){color:var(--cover-name)}
 html[lang] .option-home .option-project-link :is(.option-project-title,.option-project-shade){opacity:0}
 html[lang] .option-home .option-project-link:is(.is-tap-revealed,:focus-visible) :is(.option-project-title,.option-project-shade){opacity:1}
 html[lang] .projects-heading-hidden{position:static;clip-path:none;width:auto;height:auto;overflow:visible;white-space:normal;font:400 32px/1.2 Midnight,sans-serif;letter-spacing:-.015em;margin:0 0 28px}
 html[lang] .project-detail-page .project-heading>.back-link{display:none}
 html[lang] .project-detail-page .project-heading>div{margin-top:0}
 html[lang] .project-detail-page{touch-action:pan-y pinch-zoom}
 html[lang] .project-detail-page .project-description{font-size:22px;line-height:1.5}
 html[lang] .contact-page .contact-grid{row-gap:66px}
 html[lang] .contact-page .contact-note>h2{display:none}
 html[lang] .contact-page .contact-details :is(a,address){color:var(--cover-name)}
 html[lang] .contact-page :is(.page-intro>p,.contact-note,.contact-note h2,.contact-note p,.contact-note li){font-family:var(--font-text,sans-serif);font-size:22px;line-height:1.5;font-weight:400}
 html[lang] :is(.project-card .hover-title,.option-project-title,.project-detail-page h1){overflow-wrap:anywhere;hyphens:auto}
}
@media(max-width:360px){
 html[lang] .nav-panel{height:auto;min-height:var(--bar-height)}
 html[lang] .nav-inner{flex-wrap:wrap;gap:0 12px;padding-block:8px}
 html[lang] .nav-inner>a,html[lang] .nav-inner .languages,html[lang] .nav-inner .languages a{height:auto;min-height:38px}
}/* Desktop header inspired by the approved reference; mobile remains separate. */
@media(min-width:601px){
 html[lang] .header-inner{grid-template-columns:repeat(3,minmax(0,1fr));align-items:center}
 html[lang] .header-name{grid-column:1;grid-row:1;justify-self:start;text-align:left}
 html[lang] .menu-toggle{grid-column:2;grid-row:1;justify-self:center;width:clamp(120px,17vw,340px)}
 html[lang] .menu-icon{width:100%;align-items:center}
 html[lang] .menu-icon i{width:100%}
 html[lang] .menu-open .menu-icon i{width:44.8px}
 html[lang] .blue-logo{grid-column:3;grid-row:1;justify-self:end;position:relative;aspect-ratio:1980/690;overflow:hidden}
 html[lang] .blue-logo img{position:absolute;width:106.212121%;max-width:none;height:auto;left:-3.131313%;top:-4.927536%}
}
@media(min-width:601px) and (max-width:999px){
 html[lang] .header-name{font-size:clamp(16px,2.64vw,26.4px)}
}