:root{--pa-white:#fff;--pa-off:#fafafa;--pa-black:#000;--pa-charcoal:#333;--pa-muted:#777;--pa-line:#e5e5e5;--pa-accent:#D85C5C;--pa-max:1536px;--pa-serif:'Instrument Serif',serif;--pa-sans:'Work Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pa-white);color:var(--pa-black);font-family:var(--pa-sans);font-weight:300;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.pa-container{max-width:var(--pa-max);margin:0 auto;padding:0 clamp(1.25rem,3vw,3rem)}.pa-site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:.5px solid var(--pa-line)}.pa-header-inner{height:64px;display:flex;align-items:center;justify-content:space-between}.pa-logo{font-family:var(--pa-serif);letter-spacing:.25em;text-transform:uppercase;font-size:.95rem}.pa-nav{display:flex;gap:2rem;align-items:center}.pa-nav a,.pa-mobile-panel a{font-size:.76rem;letter-spacing:.08em;text-transform:lowercase;color:var(--pa-charcoal);transition:.2s}.pa-nav a:hover,.pa-nav .current-menu-item>a{color:var(--pa-accent)}.pa-menu-toggle{display:none;background:none;border:0;font-size:1rem}.pa-mobile-panel{display:none;border-top:.5px solid var(--pa-line);padding:1rem 1.25rem;background:#fff}.pa-mobile-panel.is-open{display:flex;flex-direction:column;gap:.9rem}.pa-main{padding-top:64px}.pa-hero{min-height:calc(100vh - 64px);display:grid;align-items:end;position:relative;border-bottom:.5px solid var(--pa-line);overflow:hidden}.pa-hero-media{position:absolute;inset:0;background:#111}.pa-hero-media img{width:100%;height:100%;object-fit:cover}.pa-hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.75),rgba(0,0,0,.1),rgba(0,0,0,.04))}.pa-hero-content{position:relative;color:#fff;padding:8rem 0 4rem}.pa-eyebrow{display:block;font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;color:var(--pa-accent);margin-bottom:1rem;font-weight:400}.pa-hero .pa-eyebrow{color:rgba(255,255,255,.65)}h1,h2,h3{font-family:var(--pa-serif);font-weight:400;line-height:.96;margin:0}h1{font-size:clamp(3.6rem,8vw,8rem);font-style:italic;letter-spacing:-.025em}h2{font-size:clamp(2.4rem,5vw,5.2rem);font-style:italic;letter-spacing:-.02em}h3{font-size:clamp(1.7rem,3vw,3.2rem);font-style:italic}.pa-lead{max-width:680px;font-size:clamp(1.05rem,1.6vw,1.35rem);color:inherit;opacity:.8}.pa-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.pa-link,.button,.wp-block-button__link,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{display:inline-flex;align-items:center;gap:.75rem;background:transparent;border:0;border-bottom:.5px solid currentColor;padding:.15rem 0;color:inherit;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;font-family:var(--pa-sans);font-weight:400;cursor:pointer;border-radius:0;transition:.2s}.pa-link:hover,.button:hover{color:var(--pa-accent);border-bottom-width:2px}.pa-link-primary,.woocommerce button.button.alt,.checkout-button{background:var(--pa-black)!important;color:#fff!important;border:0!important;padding:1rem 1.25rem!important}.pa-link-primary:hover,.woocommerce button.button.alt:hover,.checkout-button:hover{background:var(--pa-accent)!important;color:#fff!important}.pa-section{padding:clamp(4rem,8vw,8rem) 0;border-bottom:.5px solid var(--pa-line)}.pa-section-header{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem}.pa-section-header p{max-width:620px;color:var(--pa-muted)}.pa-grid{display:grid;gap:clamp(1.25rem,2vw,2.2rem)}.pa-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.pa-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.pa-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.pa-card{border-top:.5px solid var(--pa-line);padding-top:1rem}.pa-card-media{aspect-ratio:4/5;overflow:hidden;background:var(--pa-off);margin-bottom:1rem}.pa-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}.pa-card:hover .pa-card-media img{transform:scale(1.025)}.pa-card-kicker{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--pa-accent);margin:0 0 .45rem}.pa-card-title{font-family:var(--pa-serif);font-style:italic;font-size:1.8rem;line-height:1.05;margin:.1rem 0}.pa-card-meta{font-size:.82rem;color:var(--pa-muted);margin:.2rem 0}.pa-card-price{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;margin:.6rem 0 0}.pa-title-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.6fr);gap:2rem;align-items:end;padding:4rem clamp(1.25rem,3vw,3rem);border-bottom:.5px solid var(--pa-line)}.pa-page-title h1{font-size:clamp(3.5rem,7vw,7rem)}.pa-page-title p{color:var(--pa-muted);font-size:1.05rem}.pa-filter-bar{position:sticky;top:64px;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:.5px solid var(--pa-line)}.pa-filter-inner{height:52px;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--pa-muted);overflow:auto}.pa-content{padding:4rem 0}.pa-prose{max-width:880px}.pa-prose p{font-size:1.05rem;color:#444}.pa-prose a{color:var(--pa-accent);text-decoration:underline;text-underline-offset:4px}.pa-single-artist{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1fr);min-height:calc(100vh - 64px)}.pa-single-artist-media{min-height:520px;background:var(--pa-off)}.pa-single-artist-media img{width:100%;height:100%;object-fit:cover}.pa-single-artist-content{padding:clamp(2rem,6vw,6rem);align-self:center}.pa-detail-list{display:grid;gap:.75rem;margin:2rem 0;padding:1.5rem 0;border-top:.5px solid var(--pa-line);border-bottom:.5px solid var(--pa-line)}.pa-detail-row{display:grid;grid-template-columns:140px 1fr;gap:1rem;font-size:.86rem}.pa-detail-row span:first-child{text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;color:var(--pa-muted)}.pa-product-single{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.55fr);gap:clamp(2rem,5vw,5rem);padding:4rem 0}.pa-product-gallery{background:var(--pa-off)}.pa-product-gallery img{width:100%;height:auto}.pa-product-summary{position:sticky;top:96px;align-self:start}.pa-product-summary .price{font-size:1rem;letter-spacing:.08em;color:var(--pa-black)!important}.pa-badge{display:inline-flex;border:.5px solid var(--pa-accent);color:var(--pa-accent);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;padding:.25rem .55rem;margin-bottom:1rem}.pa-footer{background:#000;color:#fff;padding:4rem 0 2rem}.pa-footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem}.pa-footer h2{max-width:720px}.pa-footer a{color:rgba(255,255,255,.72)}.pa-footer a:hover{color:var(--pa-accent)}.pa-img-placeholder{display:flex;align-items:center;justify-content:center;background:#f7f7f7;color:#aaa;min-height:260px;border:.5px solid var(--pa-line);font-family:var(--pa-serif);font-style:italic}.woocommerce-notices-wrapper,.woocommerce-message,.woocommerce-info,.woocommerce-error{max-width:var(--pa-max);margin:1rem auto!important;padding:1rem clamp(1.25rem,3vw,3rem)!important;border-top:.5px solid var(--pa-line)!important;background:#fff!important;color:#000!important}.woocommerce table.shop_table{border:.5px solid var(--pa-line)!important;border-radius:0!important}.woocommerce table.shop_table th,.woocommerce table.shop_table td{border-top:.5px solid var(--pa-line)!important}.input-text,input[type=text],input[type=email],input[type=tel],input[type=password],textarea,select{width:100%;border:0;border-bottom:.5px solid var(--pa-line);padding:.8rem 0;background:transparent;border-radius:0;font-family:var(--pa-sans)}.input-text:focus,input:focus,textarea:focus,select:focus{outline:none;border-bottom-color:var(--pa-accent)}@media(max-width:1024px){.pa-grid-4{grid-template-columns:repeat(2,1fr)}.pa-product-single,.pa-single-artist{grid-template-columns:1fr}.pa-product-summary{position:static}.pa-nav{display:none}.pa-menu-toggle{display:block}.pa-title-grid{grid-template-columns:1fr}.pa-footer-grid{grid-template-columns:1fr}}@media(max-width:720px){.pa-grid-2,.pa-grid-3,.pa-grid-4{grid-template-columns:1fr}.pa-section-header{display:block}.pa-hero-content{padding:5rem 0 3rem}.pa-actions{flex-direction:column;align-items:flex-start}.pa-detail-row{grid-template-columns:1fr}.pa-page-title h1{font-size:3.3rem}}

/* v0.2 artist and seed content refinements */
.pa-artist-profile .pa-single-artist-media,
.pa-artist-portrait { background:#FAFAFA; }
.pa-artist-portrait img { object-fit: cover; }
.pa-artist-mediums {
    font-family: var(--pa-font-sans);
    color: var(--pa-accent);
    text-transform: uppercase;
    letter-spacing: .18em;
    font-size: .72rem;
    line-height: 1.7;
    margin: 0 0 2rem;
}
.pa-artist-bio h2,
.pa-artist-statement h2 {
    font-family: var(--pa-font-sans);
    font-size: .7rem;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--pa-charcoal);
    margin: 0 0 1rem;
}
.pa-artist-statement { margin-top: 2.5rem; }
.pa-muted { color: rgba(0,0,0,.55); max-width: 680px; }
.pa-card-excerpt { color: rgba(0,0,0,.6); font-size: .86rem; line-height: 1.6; margin-top: .6rem; }
.pa-img-placeholder,
.pa-card-media .pa-img-placeholder {
    min-height: 360px;
    background: #FAFAFA;
    border: 1px solid #E5E5E5;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#333;
    letter-spacing:.22em;
    text-transform:uppercase;
    font-size:.7rem;
}

/* v0.3 catalogue image and artist-link refinements */
.pa-product-card .pa-card-media,
.pa-product-card-media {
    aspect-ratio: 1 / 1;
    background: #fff;
}
.pa-product-card .pa-card-media img,
.pa-product-card-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.pa-artist-ref a {
    color: var(--pa-accent);
    text-decoration: none;
}
.pa-artist-ref a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: .5px;
}
.pa-product-card .pa-card-title a:hover,
.pa-product-card .pa-card-price a:hover { color: var(--pa-accent); }
.pa-artist-mediums { font-family: var(--pa-sans); }
.pa-artist-bio h2,
.pa-artist-statement h2 { font-family: var(--pa-sans); }
.pa-static-hero { padding: clamp(4rem,8vw,8rem) 0; border-bottom: .5px solid var(--pa-line); }
.pa-static-hero .pa-lead { color: #555; opacity: 1; }
.pa-service-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:1.2rem; margin-top:2.5rem; }
.pa-service-card { border-top:.5px solid var(--pa-line); padding-top:1rem; }
.pa-service-card h3 { font-size:2rem; }
.pa-form-card { border:.5px solid var(--pa-line); padding:clamp(1.25rem,3vw,2.5rem); background:#fff; }
.pa-editorial-list article { border-top:.5px solid var(--pa-line); padding:1.5rem 0; }
.pa-editorial-list h2 { font-size:clamp(2rem,4vw,4rem); }
@media(max-width:900px){ .pa-service-grid{grid-template-columns:1fr;} }

/* v0.4 typography controls */
:root {
    --pa-heading-size-desktop: 84px;
    --pa-heading-size-mobile: 54px;
    --pa-body-size-desktop: 16px;
    --pa-body-size-mobile: 15px;
}
body {
    font-size: var(--pa-body-size-desktop);
}
h1, h2, h3, h4, h5, h6,
.pa-card-title,
.pa-logo {
    font-family: var(--pa-serif);
}
h1,
.pa-page-title h1 {
    font-size: clamp(var(--pa-heading-size-mobile), 8vw, var(--pa-heading-size-desktop));
}
h2,
.pa-editorial-list h2 {
    font-size: clamp(calc(var(--pa-heading-size-mobile) * .68), 5vw, calc(var(--pa-heading-size-desktop) * .68));
}
h3,
.pa-service-card h3 {
    font-size: clamp(calc(var(--pa-heading-size-mobile) * .42), 3vw, calc(var(--pa-heading-size-desktop) * .42));
}
h4 { font-size: clamp(1.4rem, 2.2vw, 2.2rem); }
h5 { font-size: clamp(1.2rem, 1.8vw, 1.7rem); }
h6 { font-size: clamp(1rem, 1.4vw, 1.25rem); }
.pa-prose p,
.entry-content p,
.pa-page-title p,
.pa-section-header p {
    font-size: var(--pa-body-size-desktop);
}
.pa-artist-bio h2,
.pa-artist-statement h2 {
    font-family: var(--pa-serif);
    font-style: italic;
    font-size: clamp(1.8rem, 3vw, 3rem);
    letter-spacing: -0.01em;
    text-transform: none;
    color: var(--pa-black);
}
@media(max-width:720px){
    body { font-size: var(--pa-body-size-mobile); }
    .pa-prose p,
    .entry-content p,
    .pa-page-title p,
    .pa-section-header p {
        font-size: var(--pa-body-size-mobile);
    }
}


/* v0.5 viewport, mobile hero and footer spacing fixes */
html, body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}
.pa-main,
.pa-site-header,
.pa-footer,
.pa-hero,
.pa-section,
.pa-static-hero {
    max-width: 100vw;
    overflow-x: clip;
}
.pa-container,
.pa-title-grid,
.pa-hero-content,
.pa-section-header,
.pa-footer-grid,
.pa-product-single,
.pa-single-artist {
    min-width: 0;
}
.pa-container > *,
.pa-footer-grid > *,
.pa-title-grid > *,
.pa-product-single > *,
.pa-single-artist > * {
    min-width: 0;
}
.pa-nav ul,
.pa-mobile-panel ul,
.pa-footer-links,
.pa-footer .menu {
    margin: 0;
    padding: 0;
    list-style: none;
}
.pa-nav ul {
    display: flex;
    gap: 2rem;
    align-items: center;
}
.pa-nav li,
.pa-mobile-panel li,
.pa-footer li {
    list-style: none;
    margin: 0;
    padding: 0;
}
.pa-mobile-panel ul {
    display: flex;
    flex-direction: column;
    gap: .9rem;
}
.pa-footer {
    padding: clamp(4.5rem, 8vw, 7rem) 0 clamp(2.5rem, 5vw, 4rem);
}
.pa-footer-grid {
    grid-template-columns: minmax(0, 1.15fr) minmax(220px, .55fr) minmax(280px, .7fr);
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: start;
}
.pa-footer h2 {
    max-width: 680px;
    font-size: clamp(3.2rem, 5.2vw, 5.4rem);
    line-height: .98;
    overflow-wrap: normal;
}
.pa-footer p {
    max-width: 430px;
}
.pa-footer-links,
.pa-footer .menu {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}
.pa-footer-links a,
.pa-footer .menu a,
.pa-footer div > a {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.4;
}
.pa-footer .pa-card-kicker,
.pa-footer .pa-eyebrow {
    margin-bottom: 1.4rem;
}
.pa-hero-content,
.pa-footer h2,
.pa-lead,
.pa-static-hero h1,
.pa-page-title h1 {
    max-width: 100%;
}
.pa-hero h1 {
    max-width: 920px;
}
.pa-lead {
    overflow-wrap: break-word;
}
@media (min-width: 1025px) {
    .pa-nav { gap: 0; }
}
@media (max-width: 1024px) {
    .pa-nav ul { display: none; }
    .pa-footer-grid {
        grid-template-columns: 1fr;
        gap: 3rem;
    }
    .pa-footer h2 {
        max-width: 760px;
    }
}
@media (max-width: 720px) {
    .pa-container { padding-left: 1.25rem; padding-right: 1.25rem; }
    .pa-hero {
        min-height: auto;
    }
    .pa-hero-content {
        min-height: calc(100vh - 64px);
        min-height: calc(100svh - 64px);
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding-top: 6rem;
        padding-bottom: 3rem;
    }
    h1,
    .pa-page-title h1,
    .pa-hero h1,
    .pa-static-hero h1 {
        font-size: min(var(--pa-heading-size-mobile), 64px);
        line-height: .98;
        letter-spacing: -.02em;
    }
    h2,
    .pa-editorial-list h2,
    .pa-footer h2 {
        font-size: min(calc(var(--pa-heading-size-mobile) * .76), 52px);
        line-height: 1;
    }
    h3,
    .pa-service-card h3 {
        font-size: min(calc(var(--pa-heading-size-mobile) * .5), 34px);
    }
    .pa-hero .pa-lead {
        font-size: 1rem;
        line-height: 1.55;
        max-width: 92vw;
    }
    .pa-actions {
        gap: .85rem;
        margin-top: 1.5rem;
    }
    .pa-link,
    .button,
    .wp-block-button__link,
    .woocommerce a.button,
    .woocommerce button.button,
    .woocommerce input.button {
        max-width: 100%;
        white-space: normal;
        letter-spacing: .18em;
        line-height: 1.4;
    }
    .pa-section,
    .pa-static-hero,
    .pa-content {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }
    .pa-footer {
        padding-top: 4rem;
    }
    .pa-footer-grid {
        gap: 2.5rem;
    }
    .pa-footer h2 {
        max-width: 100%;
    }
    .pa-footer-links,
    .pa-footer .menu {
        gap: .65rem;
    }
    .pa-footer-links a,
    .pa-footer .menu a,
    .pa-footer div > a {
        font-size: .98rem;
    }
}


/* v0.6 footer menu, pagination and About page fixes */
.pa-footer-links,
.pa-footer .menu,
.pa-footer .pa-fallback-menu,
.pa-footer ul.menu {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start;
    gap: .85rem !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.pa-footer-links li,
.pa-footer .menu li,
.pa-footer .pa-fallback-menu li,
.pa-footer ul.menu li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    line-height: 1.4;
}
.pa-footer-links a,
.pa-footer .menu a,
.pa-footer .pa-fallback-menu a,
.pa-footer ul.menu a {
    display: inline-block !important;
    padding: .1rem 0;
    line-height: 1.4;
    white-space: normal;
}
.pa-footer .sub-menu { margin-left: 0; padding-left: 0; }

/* WordPress and WooCommerce pagination */
.pagination,
.woocommerce-pagination {
    margin-top: 3rem;
    width: 100%;
}
.pagination .nav-links,
.woocommerce-pagination ul.page-numbers,
ul.page-numbers {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center;
    gap: .55rem;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: 0 !important;
}
.woocommerce-pagination ul.page-numbers li,
ul.page-numbers li {
    display: inline-flex !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    border: 0 !important;
}
.pagination .page-numbers,
.woocommerce-pagination .page-numbers,
ul.page-numbers .page-numbers {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 2.15rem;
    height: 2.15rem;
    padding: 0 .7rem !important;
    border: .5px solid var(--pa-line) !important;
    color: var(--pa-black);
    background: transparent !important;
    font-size: .82rem;
    line-height: 1;
    text-decoration: none;
}
.pagination .page-numbers.current,
.woocommerce-pagination .page-numbers.current,
ul.page-numbers .page-numbers.current,
.pagination .page-numbers:hover,
.woocommerce-pagination .page-numbers:hover,
ul.page-numbers .page-numbers:hover {
    background: var(--pa-black) !important;
    border-color: var(--pa-black) !important;
    color: #fff !important;
}
.pagination .next,
.pagination .prev,
.woocommerce-pagination .next,
.woocommerce-pagination .prev {
    min-width: 2.15rem;
}
.pa-about-note {
    border-left: .5px solid var(--pa-line);
    padding-left: clamp(1.5rem, 3vw, 3rem);
}
@media (max-width: 720px) {
    .pa-footer-links,
    .pa-footer .menu,
    .pa-footer .pa-fallback-menu,
    .pa-footer ul.menu { gap: .7rem !important; }
    .pa-about-note { border-left: 0; padding-left: 0; border-top: .5px solid var(--pa-line); padding-top: 2rem; }
    .pagination .nav-links,
    .woocommerce-pagination ul.page-numbers,
    ul.page-numbers { gap: .45rem; }
    .pagination .page-numbers,
    .woocommerce-pagination .page-numbers,
    ul.page-numbers .page-numbers { min-width: 2rem; height: 2rem; padding: 0 .6rem !important; }
}
