/*
Theme Name: Giancarlo Carnevale
Theme URI: https://www.giancarlocarnevale.com
Author: Giancarlo Carnevale
Description: Italian-first artist portfolio with bilingual gallery, 35 artworks and catalogue.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: giancarlo-carnevale
*/
:root{--background:#f7f8f6;--foreground:#172232;--card:#fff;--card-foreground:#172232;--popover:#fff;--popover-foreground:#172232;--primary:#173e65;--primary-foreground:#fff;--secondary:#e9edee;--secondary-foreground:#172232;--muted:#edf0ef;--muted-foreground:#53616b;--accent:#e1e9ed;--accent-foreground:#172232;--destructive:#ad222c;--border:#cdd4d4;--input:#cdd4d4;--ring:#275e91;--radius:0}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;font:inherit}a{text-decoration:none;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--ring);outline-offset:5px}::selection{background:#204d75;color:white}.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400}.wrap{width:min(1320px,calc(100% - 112px));margin-inline:auto}.eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500}.skip{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:100}.skip:focus{top:12px}
.site-header{height:94px;border-bottom:1px solid var(--border);background:#f7f8f6f5;position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:15px;line-height:1.15}.brand-mark{font-family:Georgia,serif;font-size:2rem;border-right:1px solid var(--border);padding-right:16px;letter-spacing:-.16em}.brand-name{font-size:.82rem;letter-spacing:.085em;text-transform:uppercase;max-width:126px}.desktop-nav{display:flex;align-items:center;gap:32px;font-size:.875rem}.desktop-nav a{position:relative;padding-block:8px}.desktop-nav a::after{content:'';position:absolute;bottom:4px;left:0;right:100%;height:1px;background:currentColor;transition:right .25s}.desktop-nav a:hover::after{right:0}.header-actions{display:flex;align-items:center;gap:24px}.languages{display:flex;gap:10px;font-size:.75rem;align-items:center;white-space:nowrap}.languages button{border:0;background:transparent;padding:8px 2px;color:#53616b}.languages button[aria-pressed=true]{color:#172232;border-bottom:1px solid currentColor}.menu-toggle{display:none;border:0;background:transparent;padding:8px;align-items:center;gap:8px;font-size:.875rem}.mobile-nav{display:none}
.hero{padding-block:64px 54px;position:relative}.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:9%;align-items:center}.hero-copy{padding-block:35px}.hero .eyebrow{display:flex;align-items:center;gap:14px}.hero .eyebrow::before{content:'';width:34px;height:1px;background:#31567a}.hero h1{font-size:clamp(3.6rem,6.4vw,6.65rem);line-height:1.035;letter-spacing:-.045em;margin:25px 0 28px;font-weight:400}.hero h1 em{font-weight:400;color:#365b77}.hero-intro{max-width:390px;color:#53616b;font-size:1rem;line-height:1.8;margin-bottom:32px}.primary-link{display:inline-flex;align-items:center;justify-content:center;background:#173e65;color:white;padding:13px 27px;min-height:49px;font-size:.875rem;letter-spacing:.015em;transition:background .2s}.primary-link:hover{background:#102e4a}.text-link{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:.875rem}.hero-art{margin:0;position:relative;width:100%;max-width:446px;justify-self:end}.hero-art button{width:100%;border:0;background:transparent;padding:0;display:block;position:relative}.hero-art img{width:100%;height:auto;max-height:566px;object-fit:contain;display:block;background:#e4e8e8}.art-open{position:absolute;right:16px;bottom:16px;background:#f7f8f6ed;display:flex;align-items:center;justify-content:center;width:38px;height:38px;color:#18354e}.hero-art figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:13px;font-size:.75rem;color:#53616b}.hero-art figcaption strong{font-weight:500;color:#243646}.hero-footer{display:flex;justify-content:space-between;align-items:center;margin-top:50px;border-top:1px solid var(--border);padding-top:18px;color:#53616b;font-size:.75rem;letter-spacing:.03em;gap:20px}
.section{padding-block:94px;scroll-margin-top:15px}.section-header{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:40px}.section-header h2{font-size:clamp(2.8rem,4.5vw,4.5rem);letter-spacing:-.045em;line-height:1.1;margin:14px 0 0}.section-aside{font-size:.875rem;color:#53616b;max-width:290px;margin:0 0 5px;line-height:1.75}.gallery-section{background:#fff}.filter-bar{display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--border);margin-bottom:38px;padding:12px 0;gap:20px}.filters{display:flex;gap:24px;flex-wrap:wrap}.filters button{font-size:.875rem;display:flex;align-items:center;gap:9px;background:transparent;border:0;color:#53616b;padding:9px 0;border-bottom:1px solid transparent;white-space:nowrap}.filters button[aria-pressed=true]{border-color:#183f65;color:#183f65}.filters sup{font-size:.625rem;align-self:flex-start;margin-top:3px}.gallery-count{font-size:.75rem;white-space:nowrap;color:#53616b}.art-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 28px}.art-card{min-width:0;margin:0}.art-button{display:block;position:relative;background:#f3f5f3;border:0;padding:25px;width:100%;height:365px;overflow:hidden}.art-button img{width:100%;height:100%;object-fit:contain;transition:transform .5s;display:block}.art-button:hover img{transform:scale(1.018)}.art-button .art-open{opacity:0;transition:opacity .2s;width:32px;height:32px;bottom:12px;right:12px}.art-button:hover .art-open,.art-button:focus-visible .art-open{opacity:1}.art-card figcaption{padding-top:15px}.card-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.card-title{font-family:Georgia,serif;font-weight:400;font-size:1.125rem;line-height:1.35;margin:0}.card-year{font-size:.75rem;color:#53616b}.card-meta{font-size:.75rem;line-height:1.7;color:#53616b;margin:5px 0 0}.gallery-more{text-align:center;margin-top:46px}.outline-button{border:1px solid #8797a2;background:transparent;color:#173e65;padding:12px 28px;min-height:48px;font-size:.875rem;transition:background .2s}.outline-button:hover{background:#edf1f3}
.themes-section{background:#112c46;color:#f7f8f6;padding-block:90px}.themes-top{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start;margin-bottom:48px}.themes-top h2{font-size:clamp(2.8rem,4.7vw,4.7rem);line-height:1.08;letter-spacing:-.035em;margin:18px 0 0}.themes-top p{color:#c1cfda;line-height:1.9;font-size:1rem;max-width:430px;padding-top:31px;margin:0}.themes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid #62788b;padding-top:30px}.theme-link{display:block;text-align:left;position:relative;border:0;background:transparent;color:inherit;padding:0;min-width:0}.theme-number{font-size:.75rem;color:#c1cfda}.theme-link h3{font-size:1.65rem;line-height:1.2;letter-spacing:-.025em;font-weight:400;margin:17px 0 14px;min-height:64px}.theme-link p{font-size:.875rem;line-height:1.8;color:#c1cfda;margin:0 0 18px}.theme-link .text-link{font-size:.75rem}.theme-link:hover .text-link{color:white}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:11%;align-items:start}.about-image{position:relative;margin:0;padding-top:45px}.about-image img{width:100%;height:auto;max-height:625px;object-fit:contain;display:block}.about-image figcaption{font-size:.75rem;line-height:1.5;color:#53616b;margin-top:12px}.about-copy h2{font-size:clamp(2.6rem,4.7vw,4.8rem);line-height:1.1;letter-spacing:-.04em;margin:18px 0 28px}.about-copy p{color:#53616b;margin:0 0 20px;line-height:1.85}.about-copy .lead{font-family:Georgia,serif;font-size:1.4rem;line-height:1.55;color:#243a4c}.timeline{margin-top:32px;border-top:1px solid var(--border)}.timeline-item{display:grid;grid-template-columns:65px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid var(--border)}.timeline-item span{font-size:.875rem;color:#31567a;padding-top:3px}.timeline-item p{font-size:.875rem;line-height:1.7;margin:0}
.catalogue-section{background:#e8eef0}.catalogue-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12%;align-items:center}.catalogue-copy h2{font-size:clamp(2.7rem,4.5vw,4.5rem);line-height:1.1;letter-spacing:-.04em;margin:18px 0 22px}.catalogue-copy p{font-size:.875rem;line-height:1.9;max-width:470px;color:#53616b}.quote{margin:0;border-left:1px solid #6d869a;padding-left:36px}.quote blockquote{font-size:1.8rem;line-height:1.4;margin:0 0 24px;letter-spacing:-.015em}.quote figcaption{font-size:.875rem;color:#486074}.quote figcaption small{display:block;font-size:.75rem;margin-top:4px;color:#53616b}.essay-button{margin-top:15px;background:transparent;border:0;border-bottom:1px solid #173e65;padding:0 0 5px;color:#173e65;font-size:.875rem}
.contact-section{padding-block:100px 90px;background:#fff}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12%}.contact-grid h2{font-size:clamp(2.8rem,5.1vw,5.2rem);line-height:1.08;letter-spacing:-.045em;margin:18px 0 0}.contact-details{padding-top:26px;min-width:0}.contact-details p{font-size:1rem;color:#53616b;line-height:1.8;max-width:390px;margin-top:0}.contact-email{display:block;font-family:Georgia,serif;font-size:clamp(1.5rem,2.5vw,2.5rem);line-height:1.4;letter-spacing:-.035em;margin:24px 0 15px;overflow-wrap:anywhere}.contact-email:hover{color:#31567a}.contact-phone{display:inline-block;font-size:.875rem;border-bottom:1px solid #bcc9d2;padding-bottom:4px}.contact-location{margin-top:27px!important;font-size:.875rem!important}.contact-source{font-size:.75rem!important;margin-top:16px!important}.footer{background:#112c46;color:#f7f8f6;padding:35px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.footer-name{font-family:Georgia,serif;font-size:1.15rem}.footer-caption{color:#c1cfda;font-size:.75rem;margin-top:4px}.footer-links{display:flex;gap:24px;color:#c1cfda;font-size:.75rem;flex-wrap:wrap}
.viewer{width:min(1160px,calc(100vw - 48px))!important;max-width:none!important;height:min(880px,calc(100dvh - 52px));padding:0!important;gap:0!important;border-radius:0!important;overflow:hidden;display:grid!important;grid-template-columns:minmax(0,1fr) 300px;background:#f7f8f6!important;color:#172232}.viewer [data-slot=dialog-close]{top:17px;right:17px;z-index:2;width:36px;height:36px;background:#fff;display:grid;place-items:center;border:1px solid #cdd4d4;opacity:1}.viewer-art{padding:42px;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;background:#e8eeef}.viewer-art img{width:100%;height:100%;object-fit:contain;display:block}.viewer-info{display:flex;flex-direction:column;padding:67px 30px 28px;overflow-y:auto}.viewer .viewer-title{font-family:Georgia,serif;font-size:2rem;line-height:1.15;font-weight:400;letter-spacing:-.03em;margin:15px 0 20px}.viewer-description{color:#53616b;line-height:1.8;font-size:.875rem}.viewer-detail{border-top:1px solid var(--border);padding-top:20px;margin-top:12px;font-size:.875rem}.viewer-detail dt{font-size:.75rem;color:#53616b;margin:16px 0 4px}.viewer-detail dd{margin:0;line-height:1.8}.viewer-enquiry{margin-top:25px;display:block;font-size:.875rem;border-bottom:1px solid #173e65;align-self:start;padding-bottom:4px}.viewer-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:22px;margin-top:auto}.viewer-nav button{border:1px solid var(--border);background:white;min-width:65px;height:42px;padding:0 10px;font-size:.75rem}.viewer-nav output{font-size:.75rem;color:#53616b}.viewer-hint{font-size:.75rem;color:#53616b;margin-top:14px}.essay-dialog{max-width:800px!important;width:calc(100vw - 36px)!important;max-height:calc(100dvh - 50px);overflow-y:auto;padding:55px!important;border-radius:0!important}.essay-dialog h2{font-family:Georgia,serif;font-size:2.7rem;font-weight:400;line-height:1.15;margin:18px 0 16px}.essay-dialog p{line-height:1.95;margin-block:22px;color:#42576a}.essay-byline{font-size:.875rem;color:#53616b}
@media(max-width:1150px){.wrap{width:calc(100% - 72px)}.desktop-nav{gap:22px}.hero-grid{gap:6%;grid-template-columns:1.15fr 1fr}.hero h1{font-size:5.6vw}.hero-art img{max-height:520px}.filters{gap:16px}.art-button{height:310px;padding:18px}.themes-grid{gap:22px}.theme-link h3{font-size:1.45rem}.viewer{grid-template-columns:minmax(0,1fr) 275px}.viewer-info{padding-inline:24px}}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}.desktop-nav{gap:17px;font-size:.8125rem}.brand-name{font-size:.75rem}.header-actions{gap:12px}.header-inner{gap:12px}.hero h1{font-size:6.05vw}.hero-intro{font-size:.9375rem}.art-grid{gap:35px 20px}.art-button{height:270px;padding:15px}.filters{gap:18px}.filter-bar{align-items:flex-start}.gallery-count{display:none}.themes-top{gap:7%}.themes-grid{grid-template-columns:repeat(2,1fr);gap:34px}.theme-link h3{min-height:0;font-size:1.8rem}.about-grid{gap:7%}.catalogue-grid{gap:7%}.quote{padding-left:25px}.quote blockquote{font-size:1.55rem}.contact-grid{gap:7%}.viewer{height:calc(100dvh - 35px);width:calc(100vw - 35px)!important;grid-template-columns:minmax(0,1fr) 240px}.viewer-art{padding:25px}.viewer-info{padding-inline:20px}.viewer .viewer-title{font-size:1.65rem}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{height:76px}.desktop-nav{display:none}.brand-mark{font-size:1.8rem;padding-right:12px}.brand{gap:12px}.brand-name{max-width:122px;font-size:.75rem}.header-actions{gap:17px}.menu-toggle{display:flex}.mobile-nav{position:absolute;display:flex;flex-direction:column;gap:0;background:#f7f8f6;border-bottom:1px solid var(--border);padding:16px 20px 24px;left:0;right:0;box-shadow:0 15px 20px #1722320d}.mobile-nav a{padding:12px 0;font-size:1rem;border-bottom:1px solid #dee3e2}.hero{padding-block:40px 32px}.hero-grid{display:flex;flex-direction:column;gap:30px;align-items:stretch}.hero-copy{padding:0}.hero h1{font-size:clamp(3.45rem,11vw,5.4rem);margin:18px 0 22px}.hero-intro{max-width:450px;margin-bottom:24px}.hero-art{max-width:440px;width:82%;margin-inline:auto}.hero-art img{max-height:505px}.hero-footer{margin-top:30px;flex-wrap:wrap;gap:10px;padding-top:16px}.section{padding-block:62px}.section-header{align-items:start;flex-direction:column;gap:17px;margin-bottom:28px}.section-header h2{font-size:3.2rem}.section-aside{max-width:390px}.filter-bar{padding:9px 0;margin-bottom:27px}.filters{gap:8px 20px}.filters button{font-size:.8125rem;padding:8px 0}.art-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 17px}.art-button{height:245px;padding:12px}.card-title{font-size:1rem}.card-title-row{gap:7px;align-items:start}.art-button .art-open{opacity:1;width:26px;height:26px;bottom:7px;right:7px}.gallery-more{margin-top:35px}.themes-section{padding-block:60px}.themes-top{grid-template-columns:1fr;gap:18px;margin-bottom:32px}.themes-top h2{font-size:3.1rem}.themes-top p{padding:0}.themes-grid{gap:30px 25px}.theme-link h3{font-size:1.65rem;margin:12px 0}.about-grid{display:flex;flex-direction:column-reverse;gap:35px}.about-copy h2{font-size:3rem}.about-copy .lead{font-size:1.3rem}.about-image{padding-top:0;width:100%;max-width:420px;margin-inline:auto}.about-image img{max-height:520px}.catalogue-grid{grid-template-columns:1fr;gap:40px}.catalogue-copy h2{font-size:3.1rem}.quote{padding-left:25px}.quote blockquote{font-size:1.7rem}.contact-section{padding-block:60px}.contact-grid{grid-template-columns:1fr;gap:15px}.contact-grid h2{font-size:3.4rem}.contact-details{padding-top:16px}.contact-email{font-size:2rem}.footer-inner{flex-direction:column;align-items:start;gap:25px}.viewer{height:calc(100dvh - 24px);width:calc(100vw - 24px)!important;display:flex!important;flex-direction:column}.viewer-art{flex:1;min-height:180px;padding:44px 20px 20px}.viewer-art img{min-height:0;max-height:100%}.viewer-info{flex-shrink:0;padding:18px 23px;max-height:48%;display:block}.viewer .viewer-title{font-size:1.6rem;margin:5px 0 7px}.viewer-description{font-size:.8125rem;margin:0}.viewer-detail{display:flex;flex-wrap:wrap;gap:10px 28px;padding-top:10px;margin-top:10px}.viewer-detail dt{margin:0;font-size:.75rem}.viewer-detail dd{font-size:.8125rem}.viewer-enquiry{margin-top:12px;font-size:.8125rem;display:inline-block}.viewer-nav{padding-top:15px;margin-top:0}.viewer-nav button{height:38px}.viewer-hint{display:none}.essay-dialog{padding:45px 25px 30px!important}.essay-dialog h2{font-size:2.2rem}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}.languages{gap:6px}.header-actions{gap:10px}.menu-toggle span{display:none}.art-grid{grid-template-columns:1fr}.art-button{height:350px}.hero-art{width:90%}.hero h1{font-size:3.25rem}.themes-grid{grid-template-columns:1fr}.contact-email{font-size:1.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.art-button:hover img{transform:none}}
[data-slot=dialog-overlay]{position:fixed;inset:0;z-index:1000;background:#0008}[data-slot=dialog-content]{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001;background:var(--background);border:1px solid var(--border);outline:none;box-shadow:0 20px 70px #0005}[data-slot=dialog-close]{position:absolute;top:16px;right:16px;display:grid;place-items:center;background:white;border:1px solid var(--border);width:36px;height:36px}.admin-bar .site-header{top:32px}@media(max-width:782px){.admin-bar .site-header{top:46px}}
