@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}}
/* The two German homepage studies share all site-wide navigation and type. */
.option-home{max-width:1800px;margin:0 auto;padding:0 var(--gutter);overflow:clip}
.option-home .option-project{margin:0;min-width:0}
.option-project-link{display:block;position:relative;isolation:isolate;overflow:hidden;border-radius:var(--radius);background:var(--soft)}
.option-project-link img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.3,1)}
.option-project-link:hover img{transform:scale(1.025)}
.option-project-shade{position:absolute;inset:0;pointer-events:none;background:rgb(0 0 0 / .22);opacity:0;transition:opacity .25s ease}
.option-project-title{position:absolute;inset:0;padding:24px;display:grid;place-items:center;text-align:center;z-index:1;color:#fff;font:400 34px/1.2 var(--font-text,Carlito,sans-serif);opacity:0;transition:opacity .25s ease;text-shadow:0 1px 8px rgb(0 0 0 / .2)}
.option-project-link:hover .option-project-shade,.option-project-link:focus-visible .option-project-shade,.option-project-link:hover .option-project-title,.option-project-link:focus-visible .option-project-title{opacity:1}
.option-project-link:hover .option-project-title,.option-project-link:focus-visible .option-project-title{transform:translateY(0)}
.option-project-link:focus-visible{outline-offset:-5px;outline-color:#fff}
.option-home h1,.option-home h2{font-family:Midnight,sans-serif;font-weight:400}
.option-kicker{font-family:var(--font-text,Carlito,sans-serif);font-size:18px;line-height:1.4}
.option-contact{padding:155px 0 135px;display:flex;justify-content:space-between;gap:40px;align-items:flex-end}
.option-contact h2{font-size:clamp(36px,4.5vw,66px);line-height:1.12;max-width:790px}
.option-contact>a,.option-noa-project-index>a,.option-graft-project-index>a{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px;font-size:20px;line-height:1.4}
.option-contact>a{padding-bottom:5px}
.option-sr-only{position:absolute!important;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap;padding:0;border:0}
/* NOA: immersive opening and a staggered editorial field. */
.option-noa-opening{padding-top:4px}
.option-noa-hero .option-project-link{height:calc(100svh - 134px);min-height:520px;max-height:1060px}
.option-noa-hero img{object-position:center 57%}
.option-noa-intro{padding:138px 30px 154px;text-align:center}
.option-noa-intro h1{font-size:clamp(54px,7.4vw,116px);line-height:1.035;letter-spacing:-.035em;margin:26px auto 28px;max-width:1300px}
.option-noa-intro-copy{max-width:500px;margin:0 auto;font-size:20px;line-height:1.4}
.option-noa-mosaic{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:32px;row-gap:90px;align-items:start}
.option-noa-wide{grid-column:1/8;grid-row:1}
.option-noa-wide .option-project-link{aspect-ratio:1.23}
.option-noa-portrait{grid-column:9/13;grid-row:1;margin-top:180px!important}
.option-noa-portrait .option-project-link{aspect-ratio:.74}
.option-noa-portrait img{object-position:center center}
.option-noa-thought{grid-column:1/5;grid-row:2;padding-top:54px}
.option-noa-thought h2{font-size:clamp(38px,4.8vw,72px);line-height:1.08;letter-spacing:-.025em}
.option-noa-thought p{margin-top:25px;font-size:20px;line-height:1.45}
.option-noa-building{grid-column:6/13;grid-row:2}
.option-noa-building .option-project-link{aspect-ratio:1.5}
.option-noa-festival{grid-column:2/9;grid-row:3;margin-top:10px!important}
.option-noa-festival .option-project-link{aspect-ratio:1.65}
.option-noa-project-index{grid-column:10/13;grid-row:3;align-self:center}
/* GRAFT: every image row and text block shares the same full-width edges. */
.option-graft{--statement-size:32px}
.option-graft-flow{padding-top:4px}
.option-graft-lead .option-project-link{height:min(74svh,900px);min-height:470px}
.option-graft-lead img{object-position:50% 53%}
.option-graft-statement{display:block;width:100%;max-width:none;margin:0;padding:76px 0}
.option-graft-statement p,.option-graft-contact p{max-width:none;font:400 var(--statement-size)/1.4 var(--font-text,Carlito,sans-serif);letter-spacing:0}
.option-graft-panorama,.option-graft-closing{width:100%;margin:0!important}
.option-graft-panorama .option-project-link{aspect-ratio:2.05}
.option-graft-panorama img{object-position:center 57%}
.option-graft-pair{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:64px;align-items:stretch}
.option-graft-pair>.option-project{width:100%;margin:0!important}
.option-graft-pair .option-project-link{aspect-ratio:1.3;height:100%}
.option-graft-closing .option-project-link{aspect-ratio:1.9}
.option-graft-closing img{object-position:center 56%}
.option-graft-project-index{padding-top:30px;text-align:left}
.option-graft-project-index>a,.option-graft-contact a{font:400 var(--statement-size)/1.4 var(--font-text,Carlito,sans-serif);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.option-graft-contact{display:block;width:100%;padding:76px 0}
@media(min-width:1500px){.option-noa-hero .option-project-link{height:calc(100svh - 146px)}}
@media(max-width:1000px){
 .option-noa-intro{padding:100px 0 110px}
 .option-noa-mosaic{column-gap:24px;row-gap:65px}
 .option-noa-portrait{margin-top:110px!important}
 .option-noa-thought{grid-column:1/6;padding-top:20px}
 .option-noa-festival{grid-column:1/9}
 .option-noa-project-index{grid-column:10/13}
 .option-noa-thought p{font-size:18px}
 .option-contact{padding:110px 0 100px;gap:30px}
}
@media(max-width:600px){
 .option-project-title{padding:20px;font-size:27px}
 .option-noa-hero .option-project-link{height:calc(83svh - 82px);min-height:410px;max-height:730px}
 .option-noa-hero img{object-position:54% center}
 .option-noa-intro{padding:75px 0 80px}
 .option-noa-intro h1{font-size:clamp(42px,11.7vw,64px);margin-top:22px;margin-bottom:25px;letter-spacing:-.035em}
 .option-noa-intro-copy{font-size:18px;max-width:280px}
 .option-kicker{font-size:16px}
 .option-noa-mosaic{display:block}
 .option-noa-mosaic>.option-project{margin:0 0 38px!important}
 .option-noa-mosaic>.option-noa-portrait{width:76%;margin-left:auto!important}
 .option-noa-wide .option-project-link{aspect-ratio:1.05}
 .option-noa-portrait .option-project-link{aspect-ratio:.76}
 .option-noa-thought{padding:30px 0 62px}
 .option-noa-thought h2{font-size:44px}
 .option-noa-thought p{font-size:18px;margin-top:22px}
 .option-noa-building .option-project-link{aspect-ratio:1.15}
 .option-noa-festival{width:88%}
 .option-noa-festival .option-project-link{aspect-ratio:1.15}
 .option-noa-project-index{padding:5px 0 0}
 .option-graft{--statement-size:26px}
 .option-graft-lead .option-project-link{height:66svh;min-height:400px;max-height:680px}
 .option-graft-lead img{object-position:55% center}
 .option-graft-statement{padding:48px 0}
 .option-graft-panorama .option-project-link{aspect-ratio:1.25}
 .option-graft-pair{grid-template-columns:1fr;gap:24px;margin-top:24px}
 .option-graft-pair .option-project-link{aspect-ratio:1.25}
 .option-graft-closing .option-project-link{aspect-ratio:1.25}
 .option-graft-project-index{padding-top:24px;text-align:left}
 .option-contact{display:block;padding:90px 0 85px}
 .option-contact h2{font-size:40px;line-height:1.12;max-width:320px}
 .option-contact>a{display:inline-block;padding:0;margin-top:28px;font-size:18px}
}
@media(hover:none),(pointer:coarse){
 .option-project-shade,.option-project-title{opacity:1}
 .option-project-title{transform:none}
}
@media(prefers-reduced-motion:reduce){.option-project-link img,.option-project-title,.option-project-shade{transition:none}}
@media(max-width:600px){.option-project-shade,.option-project-title{opacity:1}.option-project-title{transform:none}}

@media(max-width:600px){.option-home .option-project-shade,.option-home .option-project-title{opacity:1}.option-home .option-project-title{transform:none}}

.option-graft .option-graft-contact{display:block;padding:76px 0}
@media(max-width:600px){.option-graft .option-graft-contact{padding:48px 0}}

/* A single project-index link, composed from the portfolio's own thumbnails. */
.option-project-strip{width:100%;padding:48px 0 0}
.option-graft-final-pair,.option-graft-pair-after-text{margin-top:0}
.option-graft .option-graft-cover{margin:64px 0 0!important}
.option-graft-cover .option-project-link{aspect-ratio:2200/1827}
@media(max-width:600px){.option-graft .option-graft-cover{margin-top:24px!important}}
.option-graft-third{padding-bottom:0}
.project-strip-link{display:block;position:relative;isolation:isolate;height:144px;overflow:hidden;border-radius:var(--radius);background:var(--soft)}
.project-strip-images{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;height:100%}
.project-strip-images img{width:100%;height:100%;min-width:0;object-fit:cover}
.project-strip-shade{position:absolute;inset:0;background:rgb(0 0 0 / .38);opacity:0;transition:opacity .25s ease}
.project-strip-title{position:absolute;inset:0;padding:20px;display:grid;place-items:center;text-align:center;color:#fff;font:400 34px/1.2 var(--font-text,Carlito,sans-serif);text-shadow:0 1px 8px rgb(0 0 0 / .25);opacity:0;transition:opacity .25s ease}
.project-strip-link:hover .project-strip-title,.project-strip-link:focus-visible .project-strip-title,.project-strip-link:hover .project-strip-shade,.project-strip-link:focus-visible .project-strip-shade{opacity:1}
.project-strip-link:focus-visible{outline-offset:-5px;outline-color:#fff}
@media(max-width:600px){
 .option-project-strip{padding:32px 0 0}
 .project-strip-link{height:104px}
 .project-strip-images{grid-template-columns:repeat(6,minmax(0,1fr));gap:2px}
 .project-strip-images img:nth-child(n+7){display:none}
 .project-strip-title{font-size:27px}
}
@media(hover:none),(pointer:coarse),(max-width:600px){.project-strip-title,.project-strip-shade{opacity:1}}
@media(prefers-reduced-motion:reduce){.project-strip-title,.project-strip-shade{transition:none}}

/* Desktop-only additions; retain the approved mobile home composition. */
.option-graft-ludwig-desktop{display:none}
@media(min-width:601px){
 .option-graft-cover .option-project-link{aspect-ratio:2200/1644}
 .option-graft-cover img{object-position:50% 0}
 .option-graft .option-graft-ludwig-desktop{display:block;margin-top:64px}
 .option-graft-ludwig-desktop .option-project-link{aspect-ratio:1.9}
}
@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)}
}