/*
Theme Name: PCA Academy
Theme URI: https://pca.360bam.com
Author: 360 Brand Advancement & Management
Description: Premium frontend for North American Pizza & Culinary Academy.
Version: 0.3.42
Text Domain: pca-academy
*/

:root {
    --pca-black:#111111;
    --pca-charcoal:#242424;
    --pca-cream:#f6f1e8;
    --pca-paper:#fffdf8;
    --pca-red:#8f2633;
    --pca-red-dark:#671923;
    --pca-blue:#153e53;
    --pca-gold:#c79b5c;
    --pca-border:#ddd5c7;
    --pca-muted:#6d675f;
    --pca-max:1380px;
}

* {
    box-sizing:border-box;
}

html {
    scroll-behavior:smooth;
}

body {
    margin:0;
    color:var(--pca-charcoal);
    background:var(--pca-paper);
    font-family:
        Inter,
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        sans-serif;
    line-height:1.6;
}

body.admin-bar .pca-header {
    top:32px;
}

a {
    color:inherit;
}

img {
    max-width:100%;
    height:auto;
    display:block;
}

.pca-container {
    width:min(calc(100% - 40px), var(--pca-max));
    margin:auto;
}

.pca-eyebrow {
    display:inline-block;
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--pca-red);
    margin-bottom:12px;
}

.pca-title {
    margin:0;
    font-family:Georgia, "Times New Roman", serif;
    font-weight:500;
    line-height:1.05;
    letter-spacing:-.035em;
}

.pca-section-title {
    font-size:clamp(2.3rem,5vw,4.8rem);
}

.pca-copy {
    color:var(--pca-muted);
    font-size:1.05rem;
    max-width:720px;
}

.pca-button {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:48px;
    padding:0 22px;
    text-decoration:none;
    border:1px solid transparent;
    font-weight:800;
    letter-spacing:.025em;
    transition:.2s ease;
    cursor:pointer;
}

.pca-button-dark {
    background:var(--pca-black);
    color:#fff;
}

.pca-button-dark:hover {
    background:var(--pca-red);
}

.pca-button-light {
    background:#fff;
    color:var(--pca-black);
}

.pca-button-outline {
    border-color:currentColor;
    color:inherit;
    background:transparent;
}

.pca-header {
    position:sticky;
    top:0;
    z-index:999;
    background:rgba(17,17,17,.94);
    backdrop-filter:blur(14px);
    color:#fff;
    border-bottom:1px solid rgba(255,255,255,.12);
}

.pca-header-inner {
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:25px;
}

.pca-brand {
    color:#fff;
    text-decoration:none;
    font-family:Georgia, serif;
    font-size:1.3rem;
    line-height:1.05;
}

.pca-brand small {
    display:block;
    font-family:Inter, sans-serif;
    font-size:.55rem;
    letter-spacing:.13em;
    text-transform:uppercase;
    opacity:.7;
    margin-top:4px;
}

.pca-nav {
    display:flex;
    align-items:center;
    gap:22px;
}

.pca-nav a {
    color:#fff;
    text-decoration:none;
    font-size:.87rem;
    font-weight:700;
}

.pca-nav a:hover {
    color:#e9c5b4;
}

.pca-nav-cta {
    padding:10px 14px;
    border:1px solid rgba(255,255,255,.45);
}

.pca-hero {
    min-height:82vh;
    position:relative;
    overflow:hidden;
    background:#111;
    color:#fff;
    display:flex;
    align-items:flex-end;
}

.pca-hero-video {
    position:absolute;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}

.pca-hero-video iframe {
    position:absolute;
    top:50%;
    left:50%;
    width:177.77777778vh;
    min-width:100%;
    height:56.25vw;
    min-height:100%;
    transform:translate(-50%,-50%);
    border:0;
    opacity:.65;
}

.pca-hero::after {
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.2) 0%,
            rgba(0,0,0,.35) 40%,
            rgba(0,0,0,.92) 100%
        );
}

.pca-hero-content {
    position:relative;
    z-index:3;
    padding:120px 0 78px;
    max-width:920px;
}

.pca-hero .pca-eyebrow {
    color:#fff;
    opacity:.8;
}

.pca-hero h1 {
    font-size:clamp(3.8rem,8vw,8rem);
    max-width:1000px;
}

.pca-hero p {
    max-width:760px;
    font-size:1.15rem;
    color:rgba(255,255,255,.84);
    margin:24px 0 32px;
}

.pca-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}

.pca-intro {
    padding:110px 0 80px;
    background:var(--pca-cream);
}

.pca-intro-grid {
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    gap:70px;
    align-items:end;
}

.pca-experiences {
    background:var(--pca-cream);
    padding:0 0 110px;
}

.pca-experience-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border-top:1px solid var(--pca-border);
    border-left:1px solid var(--pca-border);
}

.pca-experience {
    padding:38px 26px;
    min-height:315px;
    border-right:1px solid var(--pca-border);
    border-bottom:1px solid var(--pca-border);
    text-decoration:none;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    transition:.25s ease;
}

.pca-experience:hover {
    color:#fff;
    background:var(--pca-red);
}

.pca-experience-number {
    font-family:Georgia,serif;
    font-size:1rem;
    opacity:.55;
}

.pca-experience h3 {
    font-family:Georgia,serif;
    font-size:2.15rem;
    font-weight:500;
    margin:80px 0 10px;
}

.pca-experience p {
    font-size:.9rem;
    opacity:.78;
}

.pca-dark-section {
    padding:110px 0;
    background:var(--pca-black);
    color:#fff;
}

.pca-dark-section .pca-copy {
    color:rgba(255,255,255,.68);
}

.pca-section-head {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:40px;
    margin-bottom:48px;
}

.pca-card-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
}

.pca-card {
    background:#fff;
    color:var(--pca-charcoal);
    text-decoration:none;
    overflow:hidden;
    border:1px solid rgba(0,0,0,.08);
    transition:.25s ease;
}

.pca-card:hover {
    transform:translateY(-4px);
}

.pca-card-media {
    aspect-ratio:4/3;
    overflow:hidden;
    background:#ddd;
}

.pca-card-media img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.pca-card-body {
    padding:24px;
}

.pca-card-kicker {
    text-transform:uppercase;
    letter-spacing:.1em;
    font-size:.67rem;
    font-weight:800;
    color:var(--pca-red);
}

.pca-card h3 {
    font-family:Georgia,serif;
    font-size:1.7rem;
    font-weight:500;
    margin:7px 0 12px;
    line-height:1.1;
}

.pca-card-meta {
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:12px;
    padding-top:14px;
    border-top:1px solid #eee8df;
    font-size:.85rem;
    color:var(--pca-muted);
}

.pca-training {
    padding:110px 0;
}

.pca-training-grid {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:70px;
}

.pca-training-list {
    display:grid;
    gap:14px;
}

.pca-training-row {
    text-decoration:none;
    border-top:1px solid var(--pca-border);
    padding:22px 0;
    display:grid;
    grid-template-columns:1fr auto;
    gap:30px;
}

.pca-training-row h3 {
    font-family:Georgia,serif;
    font-weight:500;
    font-size:1.65rem;
    margin:0 0 5px;
}

.pca-training-price {
    font-weight:800;
    white-space:nowrap;
}

.pca-split {
    display:grid;
    grid-template-columns:1fr 1fr;
}

.pca-split-panel {
    padding:clamp(48px,6vw,96px);
    min-height:560px;
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;
}

.pca-split-panel:first-child {
    background:var(--pca-red);
    color:#fff;
}

.pca-split-panel:last-child {
    background:var(--pca-blue);
    color:#fff;
}

.pca-split .pca-copy {
    color:rgba(255,255,255,.75);
}

.pca-equipment {
    padding:110px 0;
    background:#eee9e0;
}

.pca-equipment-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
}

.pca-equipment-card {
    background:#fff;
    text-decoration:none;
    min-width:0;
}

.pca-equipment-card .pca-card-body {
    padding:20px;
}

.pca-equipment-card h3 {
    font-size:1.4rem;
}

.pca-story {
    padding:120px 0;
}

.pca-story-grid {
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:80px;
    align-items:center;
}

.pca-story-image {
    aspect-ratio:4/5;
    overflow:hidden;
    background:#ddd;
}

.pca-story-image img {
    width:100%;
    height:100%;
    object-fit:cover;
}

.pca-visit {
    padding:110px 0;
    background:var(--pca-black);
    color:#fff;
}

.pca-visit-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:80px;
}

.pca-contact-line {
    padding:14px 0;
    border-bottom:1px solid rgba(255,255,255,.16);
}

.pca-conversion-wrap .pca-fce {
    margin:0;
    max-width:none;
}

.pca-footer {
    background:#080808;
    color:#fff;
    padding:50px 0;
}

.pca-footer-grid {
    display:grid;
    grid-template-columns:1fr auto;
    gap:50px;
    align-items:end;
}

.pca-footer p {
    color:rgba(255,255,255,.55);
    margin-bottom:0;
}

@media(max-width:1100px) {

    .pca-nav {
        gap:12px;
    }

    .pca-nav a:not(.pca-nav-cta) {
        display:none;
    }

    .pca-experience-grid {
        grid-template-columns:repeat(2,1fr);
    }

    .pca-card-grid,
    .pca-equipment-grid {
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:760px) {

    body.admin-bar .pca-header {
        top:46px;
    }

    .pca-container {
        width:min(calc(100% - 28px), var(--pca-max));
    }

    .pca-hero {
        min-height:720px;
    }

    .pca-hero-content {
        padding-bottom:55px;
    }

    .pca-intro-grid,
    .pca-training-grid,
    .pca-story-grid,
    .pca-visit-grid,
    .pca-split,
    .pca-footer-grid {
        grid-template-columns:1fr;
        gap:35px;
    }

    .pca-experience-grid,
    .pca-card-grid,
    .pca-equipment-grid {
        grid-template-columns:1fr;
    }

    .pca-experience {
        min-height:220px;
    }

    .pca-experience h3 {
        margin-top:45px;
    }

    .pca-section-head {
        align-items:flex-start;
        flex-direction:column;
    }

    .pca-split-panel {
        padding:70px 24px;
    }
}

/* =========================================================
   PCA Academy Frontend Pass 2
   ========================================================= */

.pca-credibility {
    background:#fff;
    border-bottom:1px solid var(--pca-border);
}

.pca-credibility-grid {
    display:grid;
    grid-template-columns:repeat(5,1fr);
}

.pca-credibility-grid > div {
    min-height:105px;
    padding:24px 20px;
    border-right:1px solid var(--pca-border);
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.pca-credibility-grid > div:last-child {
    border-right:0;
}

.pca-credibility strong {
    font-family:Georgia,serif;
    font-size:1.08rem;
    font-weight:500;
    line-height:1.15;
}

.pca-credibility span {
    margin-top:6px;
    color:var(--pca-muted);
    font-size:.7rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.075em;
}

.pca-experience {
    position:relative;
    overflow:hidden;
}

.pca-experience::before {
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:4px;
    background:var(--pca-red);
    transform:scaleX(0);
    transform-origin:left;
    transition:.3s ease;
}

.pca-experience:hover::before {
    transform:scaleX(1);
    background:#fff;
}

.pca-experience h3 {
    letter-spacing:-.025em;
}

.pca-sip {
    padding:120px 0;
    background:#eae3d7;
    overflow:hidden;
}

.pca-sip-grid {
    display:grid;
    grid-template-columns:.62fr 1.38fr;
    gap:90px;
    align-items:center;
}

.pca-sip-mark {
    min-height:460px;
    background:#999;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 24px 70px rgba(0,0,0,.15);
}

.pca-sip-mark img {
    display:block;
    width:min(72%,320px);
    height:auto;
    aspect-ratio:1;
    object-fit:contain;
}

.pca-split-detail {
    color:rgba(255,255,255,.72);
    font-size:.82rem;
    text-transform:uppercase;
    letter-spacing:.08em;
    margin:30px 0 0;
    max-width:600px;
}

.pca-team {
    padding:120px 0;
    background:var(--pca-cream);
}

.pca-team-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:1px;
    background:var(--pca-border);
    border:1px solid var(--pca-border);
}

.pca-team-card {
    background:var(--pca-paper);
    padding:42px 36px;
    min-height:330px;
}

.pca-team-role {
    display:block;
    color:var(--pca-red);
    font-size:.67rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.pca-team-card h3 {
    font-family:Georgia,serif;
    font-size:2rem;
    line-height:1.05;
    margin:70px 0 16px;
    font-weight:500;
}

.pca-team-card p {
    color:var(--pca-muted);
}

.pca-team-card a {
    display:inline-block;
    margin-top:12px;
    font-weight:700;
    font-size:.84rem;
    color:var(--pca-red);
}

.pca-equipment-card {
    box-shadow:0 8px 30px rgba(0,0,0,.04);
}

.pca-equipment-card:hover {
    box-shadow:0 18px 45px rgba(0,0,0,.12);
}

.pca-story {
    position:relative;
}

.pca-story::before {
    content:"ACADEMY";
    position:absolute;
    right:3%;
    top:20px;
    font-family:Georgia,serif;
    font-size:clamp(5rem,15vw,13rem);
    line-height:1;
    color:rgba(0,0,0,.025);
    pointer-events:none;
}

.pca-visit .pca-fce {
    border:0;
    box-shadow:none;
}

@media(max-width:1100px) {

    .pca-credibility-grid {
        grid-template-columns:repeat(2,1fr);
    }

    .pca-credibility-grid > div {
        border-bottom:1px solid var(--pca-border);
    }

    .pca-sip-grid {
        grid-template-columns:1fr 1fr;
        gap:50px;
    }

}

@media(max-width:760px) {

    .pca-credibility-grid,
    .pca-team-grid,
    .pca-sip-grid {
        grid-template-columns:1fr;
    }

    .pca-credibility-grid > div {
        border-right:0;
        min-height:82px;
    }

    .pca-sip-mark {
        min-height:330px;
    }

    .pca-team-card {
        min-height:0;
    }

    .pca-team-card h3 {
        margin-top:35px;
    }

}

/* =========================================================
   PCA Landing Pages — Pass 3
   ========================================================= */

.pca-page-hero {
    min-height:67vh;
    padding:150px 0 85px;
    display:flex;
    align-items:flex-end;
    position:relative;
    overflow:hidden;
    color:#fff;
    background:#111;
}

.pca-page-hero::before {
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(
            circle at 75% 25%,
            rgba(255,255,255,.08),
            transparent 30%
        ),
        linear-gradient(
            120deg,
            rgba(0,0,0,.9),
            rgba(0,0,0,.48)
        );
}

.pca-page-hero > .pca-container {
    position:relative;
    z-index:2;
}

.pca-page-hero h1 {
    font-size:clamp(3.6rem,7vw,7.4rem);
    max-width:1000px;
}

.pca-page-hero p {
    max-width:760px;
    font-size:1.1rem;
    color:rgba(255,255,255,.82);
    margin:24px 0 30px;
}

.pca-page-hero .pca-eyebrow {
    color:#fff;
}

.pca-page-hero-classes {
    background:
        linear-gradient(
            rgba(24,20,17,.2),
            rgba(24,20,17,.85)
        ),
        #342a23;
}

.pca-page-hero-training {
    background:
        linear-gradient(
            rgba(9,31,42,.25),
            rgba(9,31,42,.9)
        ),
        var(--pca-blue);
}

.pca-page-hero-events {
    background:
        linear-gradient(
            rgba(64,10,20,.2),
            rgba(64,10,20,.9)
        ),
        var(--pca-red);
}

.pca-page-hero-consulting {
    background:
        linear-gradient(
            rgba(15,15,15,.15),
            rgba(15,15,15,.92)
        ),
        #242424;
}

.pca-page-hero-equipment {
    background:
        linear-gradient(
            rgba(7,27,36,.25),
            rgba(7,27,36,.92)
        ),
        #0e3447;
}

.pca-page-intro {
    padding:100px 0;
    background:var(--pca-cream);
}

.pca-category-band,
.pca-training-paths,
.pca-event-types,
.pca-equipment-benefits {
    padding:0 0 100px;
    background:var(--pca-cream);
}

.pca-category-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    background:var(--pca-border);
    border:1px solid var(--pca-border);
}

.pca-category-grid > div {
    background:var(--pca-paper);
    padding:35px 28px;
    min-height:245px;
}

.pca-category-grid span,
.pca-service-grid span {
    color:var(--pca-red);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.1em;
}

.pca-category-grid h3,
.pca-service-grid h3 {
    font-family:Georgia,serif;
    font-size:1.7rem;
    font-weight:500;
    line-height:1.1;
    margin:60px 0 12px;
}

.pca-category-grid p,
.pca-service-grid p {
    color:var(--pca-muted);
}

.pca-listing-section {
    padding:110px 0;
}

.pca-image-placeholder {
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#222;
    color:#fff;
    font-family:Georgia,serif;
    font-size:2rem;
}

.pca-policy-band {
    padding:70px 0;
    background:#eee8df;
}

.pca-policy-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
}

.pca-policy-grid strong {
    font-family:Georgia,serif;
    font-size:1.35rem;
    font-weight:500;
}

.pca-policy-grid p {
    color:var(--pca-muted);
}

.pca-conversion-section {
    padding:100px 0;
}

.pca-training-row-dark {
    color:#fff;
    border-color:rgba(255,255,255,.18);
}

.pca-training-row-dark span {
    color:rgba(255,255,255,.55);
}

.pca-authority-section,
.pca-consulting-lead {
    padding:110px 0;
    background:#f4efe7;
}

.pca-authority-quote {
    min-height:420px;
    padding:45px;
    display:flex;
    align-items:center;
    background:var(--pca-blue);
    color:#fff;
}

.pca-authority-quote span {
    font-family:Georgia,serif;
    font-size:clamp(2.3rem,5vw,4.5rem);
    line-height:1.05;
}

.pca-process-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1px;
    margin-top:50px;
    background:rgba(255,255,255,.2);
}

.pca-process-grid > div {
    min-height:240px;
    padding:30px;
    background:var(--pca-black);
}

.pca-process-grid strong {
    color:#d9ad70;
}

.pca-process-grid h3 {
    font-family:Georgia,serif;
    font-size:1.7rem;
    font-weight:500;
    margin-top:80px;
}

.pca-consulting-services {
    padding:100px 0;
}

.pca-service-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1px;
    background:var(--pca-border);
}

.pca-service-grid > div {
    background:#fff;
    padding:36px 30px;
    min-height:285px;
}

.pca-equipment-category {
    margin-bottom:100px;
}

.pca-category-title {
    font-size:clamp(2.2rem,4vw,4rem);
}

.pca-demo-badge {
    display:inline-block;
    margin-top:12px;
    padding:4px 8px;
    background:#e9f3f7;
    color:var(--pca-blue);
    font-size:.68rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}

@media(max-width:950px) {

    .pca-category-grid,
    .pca-process-grid,
    .pca-service-grid {
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:650px) {

    .pca-page-hero {
        min-height:620px;
        padding-top:120px;
    }

    .pca-category-grid,
    .pca-process-grid,
    .pca-service-grid,
    .pca-policy-grid {
        grid-template-columns:1fr;
    }

    .pca-category-grid > div,
    .pca-service-grid > div {
        min-height:0;
    }

    .pca-category-grid h3,
    .pca-service-grid h3 {
        margin-top:35px;
    }

}

/* =========================================================
   PCA Form Contrast Repair
   ========================================================= */

.pca-fce,
.pca-dark-section .pca-fce,
.pca-visit .pca-fce {
    color:#171717 !important;
    background:#fff !important;
}

.pca-fce h1,
.pca-fce h2,
.pca-fce h3,
.pca-fce h4,
.pca-dark-section .pca-fce h1,
.pca-dark-section .pca-fce h2,
.pca-dark-section .pca-fce h3,
.pca-dark-section .pca-fce h4 {
    color:#171717 !important;
}

.pca-fce label,
.pca-fce strong,
.pca-fce-intro,
.pca-dark-section .pca-fce label,
.pca-dark-section .pca-fce strong,
.pca-dark-section .pca-fce-intro {
    color:#272727 !important;
}

.pca-fce input[type=text],
.pca-fce input[type=email],
.pca-fce input[type=tel],
.pca-fce input[type=number],
.pca-fce select,
.pca-fce textarea {
    background:#fff !important;
    color:#171717 !important;
    border-color:#aaa !important;
}

.pca-fce input::placeholder,
.pca-fce textarea::placeholder {
    color:#777 !important;
}

.pca-fce option {
    color:#171717;
    background:#fff;
}

/* =========================================================
   PCA Class Calendar
   ========================================================= */

.pca-view-switcher {
    display:flex;
    justify-content:flex-end;
    gap:8px;
    margin-bottom:24px;
}

.pca-view-button {
    padding:10px 15px;
    border:1px solid var(--pca-border);
    background:#fff;
    text-decoration:none;
    font-size:.78rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.pca-view-button:hover {
    color:#fff;
    background:var(--pca-red);
    border-color:var(--pca-red);
}

.pca-calendar-wrap {
    margin-bottom:100px;
}

.pca-calendar {
    border:1px solid var(--pca-border);
    background:#fff;
}

.pca-calendar-header {
    display:grid;
    grid-template-columns:60px 1fr 60px;
    align-items:center;
    min-height:80px;
    background:var(--pca-black);
    color:#fff;
}

.pca-calendar-header h3 {
    margin:0;
    text-align:center;
    font-family:Georgia,serif;
    font-weight:500;
    font-size:1.8rem;
}

.pca-calendar-nav {
    height:80px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    font-size:1.7rem;
}

.pca-calendar-nav:hover {
    background:var(--pca-red);
}

.pca-calendar-weekdays {
    display:grid;
    grid-template-columns:repeat(7,1fr);
    background:#eee8df;
    border-bottom:1px solid var(--pca-border);
}

.pca-calendar-weekdays > div {
    padding:12px;
    text-align:center;
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    border-right:1px solid var(--pca-border);
}

.pca-calendar-grid {
    display:grid;
    grid-template-columns:repeat(7,1fr);
}

.pca-calendar-day {
    min-height:155px;
    padding:10px;
    border-right:1px solid var(--pca-border);
    border-bottom:1px solid var(--pca-border);
    overflow:hidden;
}

.pca-calendar-empty {
    background:#f8f6f2;
}

.pca-calendar-number {
    font-size:.75rem;
    font-weight:800;
    margin-bottom:8px;
}

.pca-calendar-today .pca-calendar-number {
    display:inline-flex;
    width:27px;
    height:27px;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--pca-red);
    color:#fff;
}

.pca-calendar-event {
    display:block;
    margin:7px 0;
    padding:8px;
    text-decoration:none;
    background:var(--pca-blue);
    color:#fff;
    transition:.2s ease;
}

.pca-calendar-event:hover {
    background:var(--pca-red);
}

.pca-calendar-event-title {
    display:block;
    font-size:.72rem;
    font-weight:700;
    line-height:1.25;
}

.pca-calendar-event-meta {
    display:block;
    margin-top:4px;
    font-size:.65rem;
    opacity:.75;
}

.pca-class-list-section {
    padding-top:15px;
}

.pca-logo-link {
    display:flex;
    align-items:center;
}

.pca-site-logo {
    width:auto;
    max-width:200px;
    height:56px;
    object-fit:contain;
}

.pca-footer-logo {
    display:inline-block;
}

.pca-footer-logo img {
    width:auto;
    max-width:230px;
    max-height:110px;
    object-fit:contain;
}

@media(max-width:850px) {

    .pca-calendar {
        overflow-x:auto;
    }

    .pca-calendar-weekdays,
    .pca-calendar-grid {
        min-width:780px;
    }

}

@media(max-width:760px) {

    .pca-site-logo {
        max-width:145px;
        height:48px;
    }

    .pca-view-switcher {
        justify-content:flex-start;
    }

}

.pca-page-hero {
    background-size:cover !important;
    background-position:center !important;
    background-repeat:no-repeat !important;
}

.pca-page-hero-classes {
    background-position:center 45% !important;
}

.pca-page-hero-training {
    background-position:center 40% !important;
}

.pca-page-hero-events {
    background-position:center 45% !important;
}

.pca-page-hero-consulting {
    background-position:center 35% !important;
}

.pca-page-hero-equipment {
    background-position:center 45% !important;
}

.pca-site-logo {
    max-height:62px;
    width:auto;
}

.pca-footer-logo img {
    max-height:125px;
    width:auto;
}

/* =========================================================
   PCA Header / Mobile Navigation
   ========================================================= */

.pca-header-social {
    display:flex;
    align-items:center;
    gap:5px;
    flex:0 0 auto;
}

.pca-header-social a {
    width:28px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
    border-radius:3px;
    transition:color .2s ease, background-color .2s ease;
}

.pca-header-social svg {
    display:block;
    width:17px;
    height:17px;
}

.pca-header-social a:hover {
    color:#e9c5b4;
}

.pca-header-social a:focus-visible {
    outline:2px solid #e9c5b4;
    outline-offset:2px;
}

.pca-header-actions {
    display:flex;
    align-items:center;
    gap:8px;
}

.pca-header-account,
.pca-header-classes {
    min-height:40px;
    padding:0 13px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    text-decoration:none;
    border:1px solid rgba(255,255,255,.4);
    font-size:.76rem;
    font-weight:800;
    white-space:nowrap;
}

.pca-header-classes {
    background:#fff;
    color:#111;
    border-color:#fff;
}

.pca-header-classes:hover {
    background:var(--pca-red);
    border-color:var(--pca-red);
    color:#fff;
}

.pca-menu-toggle {
    display:none;
    width:44px;
    height:40px;
    border:1px solid rgba(255,255,255,.4);
    background:transparent;
    padding:9px;
    cursor:pointer;
}

.pca-menu-toggle span:not(.screen-reader-text) {
    display:block;
    height:2px;
    margin:4px 0;
    background:#fff;
}

@media(max-width:1100px) {

    .pca-nav {
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        padding:15px 20px 22px;
        background:#151515;
        border-top:1px solid rgba(255,255,255,.12);
        border-bottom:1px solid rgba(255,255,255,.12);
    }

    .pca-nav.pca-nav-open {
        display:grid;
    }

    .pca-nav a,
    .pca-nav a:not(.pca-nav-cta) {
        display:block;
        padding:12px 4px;
        border-bottom:1px solid rgba(255,255,255,.1);
        font-size:.9rem;
    }

    .pca-menu-toggle {
        display:block;
    }

    .pca-header-inner {
        position:relative;
    }

}

@media(max-width:700px) {

    .pca-header-inner {
        min-height:74px;
        gap:5px;
    }

    .pca-header-social {
        gap:1px;
    }

    .pca-header-social a {
        width:22px;
    }

    .pca-header-social svg {
        width:15px;
        height:15px;
    }

    .pca-header-account {
        display:none;
    }

    .pca-header-classes {
        padding:0 9px;
        font-size:.68rem;
    }

    .pca-site-logo {
        max-width:128px;
        max-height:52px;
    }

}

@media(max-width:420px) {

    .pca-header-classes {
        font-size:0;
        width:48px;
        padding:0;
    }

    .pca-header-classes::after {
        content:"Classes";
        font-size:.62rem;
    }

}

@media(max-width:380px) {

    .pca-header-inner {
        gap:4px;
    }

    .pca-site-logo {
        max-width:90px;
    }

    .pca-header-social a {
        width:20px;
    }

    .pca-header-actions {
        gap:4px;
    }

    .pca-header-classes {
        width:40px;
        min-height:38px;
    }

    .pca-menu-toggle {
        width:38px;
        height:38px;
    }

}

/* =========================================================
   PCA My Account
   ========================================================= */

.pca-account {
    width:min(calc(100% - 30px),1200px);
    margin:70px auto 110px;
}

.pca-account-login {
    width:min(100%,520px);
    margin:auto;
    padding:40px;
    border:1px solid var(--pca-border);
    background:#fff;
}

.pca-account-login .pca-title {
    font-size:3rem;
}

.pca-account-login label {
    display:block;
    margin:14px 0 5px;
    font-weight:700;
}

.pca-account-login input[type=text],
.pca-account-login input[type=password] {
    width:100%;
    padding:12px;
}

.pca-account-login input[type=submit] {
    padding:12px 20px;
    background:#111;
    color:#fff;
    border:0;
    font-weight:800;
}

.pca-account-head {
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:flex-end;
}

.pca-account-head .pca-title {
    font-size:clamp(3rem,6vw,5rem);
}

.pca-account-nav {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:40px 0;
}

.pca-account-nav a {
    padding:11px 16px;
    background:#111;
    color:#fff;
    text-decoration:none;
    font-weight:700;
}

.pca-account-section {
    padding:45px 0;
    border-top:1px solid var(--pca-border);
}

.pca-account-section h2 {
    font-family:Georgia,serif;
    font-weight:500;
    font-size:2rem;
}

.pca-account-list {
    display:grid;
    gap:10px;
}

.pca-account-item {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:25px;
    padding:20px;
    border:1px solid var(--pca-border);
    background:#fff;
}

.pca-account-item h3 {
    margin:4px 0 0;
    font-family:Georgia,serif;
    font-weight:500;
}

.pca-account-kicker {
    color:var(--pca-red);
    text-transform:uppercase;
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.08em;
}

.pca-account-empty {
    padding:30px;
    background:var(--pca-cream);
}

@media(max-width:650px) {

    .pca-account-head,
    .pca-account-item {
        align-items:flex-start;
        flex-direction:column;
    }

}

.pca-footer-meta {
    text-align:right;
    font-size:.82rem;
    color:rgba(255,255,255,.62);
}

.pca-footer-powered {
    margin-top:7px;
}

.pca-footer-powered a {
    color:#fff;
    font-weight:700;
    text-decoration:none;
}

.pca-footer-powered a:hover {
    text-decoration:underline;
}

@media(max-width:760px) {

    .pca-footer-meta {
        text-align:left;
    }

}

/* =========================================================
   PCA Availability
   ========================================================= */

.pca-availability {
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:6px 10px;
    margin:8px 0;
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.pca-availability-open {
    background:#edf6ee;
    color:#22642b;
}

.pca-availability-urgent {
    background:#fff0d8;
    color:#8c4b00;
}

.pca-availability-sold {
    background:#f7e5e5;
    color:#8f2633;
}

.pca-availability-unknown {
    background:#eee;
    color:#666;
}

/* NAPCA Contact */

.pca-page-hero-contact {
    background:
        linear-gradient(
            rgba(0,0,0,.35),
            rgba(0,0,0,.88)
        ),
        #171717;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}

.pca-contact-page {
    padding:110px 0;
    background:var(--pca-cream);
}

.pca-contact-page-grid {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:80px;
    align-items:start;
}

.pca-contact-detail {
    padding:20px 0;
    border-bottom:1px solid var(--pca-border);
}

.pca-contact-detail strong {
    display:block;
    color:var(--pca-red);
    font-size:.7rem;
    text-transform:uppercase;
    letter-spacing:.09em;
}

.pca-contact-detail p {
    font-size:1.05rem;
}

.pca-contact-detail a {
    text-decoration:none;
}

.pca-contact-routing {
    padding:100px 0;
}

@media(max-width:760px) {
    .pca-contact-page-grid {
        grid-template-columns:1fr;
        gap:45px;
    }
}

/* =========================================================
   NAPCA Academy Partners
   ========================================================= */

.napca-partner-hero {
    background-size:cover;
    background-position:center;
    min-height:600px;
    display:flex;
    align-items:flex-end;
}

.napca-partner-story {
    padding:100px 0;
    background:#f4efe7;
}

.napca-partner-story-grid {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:90px;
}

.napca-partner-story h2,
.napca-partner-equipment h2,
.napca-partner-spotlight h2 {
    font-family:Georgia,serif;
    font-size:clamp(2.2rem,4vw,4rem);
    line-height:1;
    font-weight:500;
}

.napca-partner-equipment {
    padding:100px 0;
}

.napca-partner-equipment-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:22px;
    margin-top:40px;
}

.napca-partner-equipment-card {
    background:#fff;
    border:1px solid #ddd5c9;
}

.napca-partner-equipment-card a {
    display:block;
    color:inherit;
    text-decoration:none;
}

.napca-partner-equipment-card img {
    display:block;
    width:100%;
    height:280px;
    object-fit:cover;
}

.napca-partner-equipment-copy {
    padding:22px;
}

.napca-partner-equipment-copy span {
    display:block;
    color:#8c2430;
    font-size:.67rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.napca-partner-equipment-copy h3 {
    margin:8px 0 18px;
    font-family:Georgia,serif;
    font-size:1.35rem;
    font-weight:500;
}

.napca-partner-spotlight {
    padding:110px 0;
    background:#151515;
    color:#fff;
}

.napca-spotlight-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:25px;
    margin-top:45px;
}

.napca-spotlight-grid article {
    background:#222;
}

.napca-spotlight-grid img {
    width:100%;
    height:330px;
    object-fit:cover;
}

.napca-spotlight-grid article h3,
.napca-spotlight-grid article p,
.napca-spotlight-grid article .pca-button {
    margin-left:25px;
    margin-right:25px;
}

.napca-spotlight-grid article h3 {
    margin-top:24px;
    font-family:Georgia,serif;
    font-size:2rem;
}

.napca-spotlight-grid article .pca-button {
    margin-bottom:28px;
}

@media(max-width:800px) {

    .napca-partner-story-grid,
    .napca-partner-equipment-grid,
    .napca-spotlight-grid {
        grid-template-columns:1fr;
    }

    .napca-partner-hero {
        min-height:480px;
    }

}

/* =========================================================
   Homepage Academy Partners
   ========================================================= */

.napca-home-partners {
    background:#f4efe7;
    padding:105px 0 0;
}

.napca-home-partners-intro {
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:90px;
    align-items:end;
    padding-bottom:75px;
}

.napca-home-partners-intro .pca-copy {
    max-width:660px;
    margin-bottom:28px;
}

.napca-home-partners .napca-partner-spotlight {
    margin-top:0;
}

.napca-partner-spotlight .pca-eyebrow {
    color:#d8b26e;
}

.napca-spotlight-grid article {
    overflow:hidden;
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.napca-spotlight-grid article:hover {
    transform:translateY(-4px);
}

.napca-spotlight-grid img {
    transition:transform .5s ease;
}

.napca-spotlight-grid article:hover img {
    transform:scale(1.025);
}

@media(max-width:800px) {

    .napca-home-partners {
        padding-top:75px;
    }

    .napca-home-partners-intro {
        grid-template-columns:1fr;
        gap:25px;
        padding-bottom:55px;
    }

}

/* =========================================================
   NAPCA Partner Directory
   ========================================================= */

.napca-partner-directory-wrap {
    padding:100px 0;
    background:#f4efe7;
}

.napca-partner-directory-head {
    max-width:900px;
    margin-bottom:55px;
}

.napca-partner-directory-head h1 {
    margin:10px 0 20px;
    font-family:Georgia,serif;
    font-size:clamp(2.7rem,5vw,5.3rem);
    line-height:.95;
    font-weight:500;
}

.napca-partner-directory-head p {
    max-width:760px;
    font-size:1.05rem;
    line-height:1.7;
}

.napca-partner-tools {
    margin-bottom:45px;
}

#napca-partner-search {
    width:100%;
    max-width:520px;
    padding:16px 18px;
    border:1px solid #cfc5b7;
    background:#fff;
    font:inherit;
}

.napca-partner-filters {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:18px;
}

.napca-partner-filters button {
    appearance:none;
    border:1px solid #cfc5b7;
    background:transparent;
    padding:10px 14px;
    cursor:pointer;
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.napca-partner-filters button.active,
.napca-partner-filters button:hover {
    background:#171717;
    color:#fff;
    border-color:#171717;
}

.napca-partner-grid {
    display:grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap:18px;
}

.napca-partner-tile {
    background:#fff;
    border:1px solid #ddd4c8;
    min-width:0;
}

.napca-partner-tile[hidden] {
    display:none;
}

.napca-partner-tile > a {
    display:flex;
    flex-direction:column;
    height:100%;
    color:inherit;
    text-decoration:none;
}

.napca-partner-tile-media {
    height:190px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    overflow:hidden;
}

.napca-partner-tile-media img {
    width:100%;
    height:100%;
    object-fit:contain;
    padding:22px;
}

.napca-partner-placeholder {
    width:80px;
    height:80px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#171717;
    color:#fff;
    font-family:Georgia,serif;
    font-size:2rem;
}

.napca-partner-tile-copy {
    padding:20px;
    display:flex;
    flex-direction:column;
    flex:1;
}

.napca-partner-tile-copy > span {
    color:#8c2430;
    font-size:.64rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.napca-partner-tile-copy h2 {
    margin:8px 0 10px;
    font-family:Georgia,serif;
    font-size:1.45rem;
    line-height:1.1;
    font-weight:500;
}

.napca-partner-tile-copy p {
    font-size:.88rem;
    line-height:1.55;
}

.napca-partner-tile-copy strong {
    margin-top:auto;
    padding-top:14px;
    font-size:.72rem;
    text-transform:uppercase;
}

.napca-partner-empty {
    padding:40px 0;
    font-weight:700;
}

@media(max-width:1100px) {

    .napca-partner-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}

@media(max-width:800px) {

    .napca-partner-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

@media(max-width:520px) {

    .napca-partner-grid {
        grid-template-columns:1fr;
    }

}

/* Partner media gallery */

.napca-partner-gallery {
    padding:95px 0;
    background:#171717;
    color:#fff;
}

.napca-partner-gallery h2 {
    margin:10px 0 38px;
    font-family:Georgia,serif;
    font-size:clamp(2.3rem,4vw,4rem);
    line-height:1;
    font-weight:500;
}

.napca-partner-gallery-grid {
    display:grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap:12px;
}

.napca-partner-gallery-grid figure {
    margin:0;
    height:240px;
    overflow:hidden;
    background:#252525;
}

.napca-partner-gallery-grid img {
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .4s ease;
}

.napca-partner-gallery-grid figure:hover img {
    transform:scale(1.035);
}

@media(max-width:950px) {

    .napca-partner-gallery-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

@media(max-width:520px) {

    .napca-partner-gallery-grid {
        grid-template-columns:1fr;
    }

}


/* =========================================================
   Academy Partners Premium Layout
   ========================================================= */


/* Featured Partner */

.napca-featured-partner {
    padding:80px 0 95px;
    background:#171717;
    color:#fff;
}

.napca-featured-partner-grid {
    display:grid;
    grid-template-columns:
        minmax(0,1.1fr)
        minmax(0,.9fr);
    gap:70px;
    align-items:center;
}

.napca-featured-partner-media {
    position:relative;
    min-height:470px;
    overflow:hidden;
    background:#252525;
}

.napca-featured-hero-image {
    width:100%;
    height:100%;
    min-height:470px;
    object-fit:cover;
    display:block;
}

.napca-featured-logo {
    position:absolute;
    left:28px;
    bottom:28px;
    width:220px;
    min-height:90px;
    padding:18px 24px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    box-shadow:
        0 18px 45px
        rgba(0,0,0,.3);
}

.napca-featured-logo img {
    max-width:100%;
    max-height:80px;
    object-fit:contain;
}

.napca-featured-partner-copy
.pca-eyebrow {
    color:#d7b36b;
}

.napca-featured-partner-copy h2 {
    margin:13px 0 24px;
    font-family:Georgia,serif;
    font-size:
        clamp(3.2rem,6vw,6rem);
    line-height:.92;
    font-weight:500;
}

.napca-featured-lead {
    font-size:1.2rem;
    line-height:1.6;
    margin-bottom:20px;
}

.napca-featured-partner-copy > p {
    max-width:580px;
    color:#dfdfdf;
    line-height:1.75;
}

.napca-featured-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:34px;
}


/* Network */

.napca-partner-network {
    padding:105px 0 120px;
    background:#f5f0e8;
}

.napca-partner-network-head {
    display:grid;
    grid-template-columns:
        minmax(0,1fr)
        minmax(0,.8fr);
    gap:80px;
    align-items:end;
    margin-bottom:55px;
}

.napca-partner-network-head h2 {
    margin:12px 0 0;
    max-width:760px;
    font-family:Georgia,serif;
    font-size:
        clamp(2.8rem,5vw,5rem);
    line-height:.96;
    font-weight:500;
}

.napca-partner-network-head p {
    margin:0;
    max-width:620px;
    line-height:1.7;
}

.napca-partner-count {
    display:flex;
    align-items:baseline;
    gap:12px;
    margin-top:22px;
}

.napca-partner-count strong {
    font-family:Georgia,serif;
    font-size:2.4rem;
    font-weight:500;
}

.napca-partner-count span {
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}


/* Search */

.napca-partner-search-wrap {
    padding:22px 0 38px;
    border-top:1px solid #d8d0c4;
}

#napca-partner-search {
    width:100%;
    max-width:540px;
    height:52px;
    padding:0 18px;
    border:1px solid #c7bfb2;
    background:#fff;
    font:inherit;
}


/* Logo Grid */

.napca-partner-logo-grid {
    display:grid;
    grid-template-columns:
        repeat(4,minmax(0,1fr));
    gap:16px;
}

.napca-partner-logo-card {
    min-width:0;
    background:#fff;
    border:1px solid #ded6ca;
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.napca-partner-logo-card:hover {
    transform:translateY(-3px);
    border-color:#b9ae9f;
    box-shadow:
        0 16px 35px
        rgba(0,0,0,.07);
}

.napca-partner-logo-card[hidden] {
    display:none;
}

.napca-partner-logo-card a {
    display:flex;
    flex-direction:column;
    height:100%;
    color:inherit;
    text-decoration:none;
}

.napca-partner-logo-box {
    height:180px;
    padding:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-bottom:1px solid #eee8df;
    background:#fff;
}

.napca-partner-logo-box img {
    max-width:100%;
    max-height:110px;
    width:auto;
    height:auto;
    object-fit:contain;
}

.napca-partner-monogram {
    width:84px;
    height:84px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#171717;
    color:#fff;
    font-family:Georgia,serif;
    font-size:2.2rem;
}

.napca-partner-logo-copy {
    padding:18px 20px 20px;
}

.napca-partner-logo-copy h3 {
    margin:0 0 8px;
    font-family:Georgia,serif;
    font-size:1.35rem;
    line-height:1.15;
    font-weight:500;
}

.napca-partner-logo-copy span {
    color:#8c2430;
    font-size:.68rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.07em;
}


/* Empty */

.napca-partner-empty {
    padding:60px 0;
    font-weight:700;
}


/* Responsive */

@media(max-width:1100px) {

    .napca-partner-logo-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}

@media(max-width:850px) {

    .napca-featured-partner-grid,
    .napca-partner-network-head {
        grid-template-columns:1fr;
        gap:35px;
    }

    .napca-featured-partner-media {
        min-height:380px;
    }

    .napca-featured-hero-image {
        min-height:380px;
    }

    .napca-partner-logo-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

@media(max-width:540px) {

    .napca-featured-partner {
        padding:55px 0 65px;
    }

    .napca-partner-network {
        padding:70px 0 80px;
    }

    .napca-partner-logo-grid {
        grid-template-columns:1fr;
    }

    .napca-featured-logo {
        left:18px;
        bottom:18px;
        width:180px;
    }

}

/* Academy social links in the site footer */
.pca-footer-social {
    margin: 0 0 20px;
}
.pca-footer-social h2 {
    margin: 0 0 10px;
    color: inherit;
    font-size: 1rem;
    font-weight: 700;
}
.pca-footer-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
}
.pca-footer-social-links a {
    color: inherit;
    text-decoration: none;
}
.pca-footer-social-links a:hover,
.pca-footer-social-links a:focus-visible {
    text-decoration: underline;
}

/* Homepage social section */
.pca-social-section {
    padding: clamp(56px, 8vw, 96px) 0;
    background: #f7f5f0;
    border-top: 1px solid #e5e1da;
}
.pca-social-content {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}
.pca-social-content h2 {
    margin: 8px 0 16px;
}
.pca-social-content > p:not(.pca-eyebrow) {
    max-width: 680px;
    margin: 0 auto 28px;
}
.pca-home-social-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}


/* NAPCA header social links and brand prominence */
.pca-header-inner .pca-site-logo { width: 112px; max-width: 11vw; height: auto; }
.pca-header-social { display: flex; flex: 0 0 auto; align-items: center; gap: .5rem; margin-inline: .75rem; white-space: nowrap; }
.pca-header-social a { color: inherit; font-size: .68rem; line-height: 1.2; font-weight: 600; text-decoration: none; }
.pca-header-social a:hover, .pca-header-social a:focus-visible { text-decoration: underline; }
@media (max-width: 1200px) { .pca-header-social { display: none; } }

/* Class and event media, timezone, and sharing controls */
.pca-class-facts li {
    min-width: 0;
}
.pca-class-facts li > span {
    display: block;
    color: var(--pca-muted);
    font-size: .78rem;
    letter-spacing: .04em;
}
.pca-class-local-time {
    display: block;
    margin-top: .3rem;
    color: var(--pca-muted);
    font-size: .85rem;
}
.pca-class-detail-copy .wp-block-gallery,
.pca-class-detail-copy .wp-block-embed,
.pca-class-detail-copy .wp-block-video,
.pca-equipment-detail-body .wp-block-gallery,
.pca-equipment-detail-body .wp-block-embed,
.pca-equipment-detail-body .wp-block-video {
    margin-block: 1.75rem;
}
.pca-class-detail-copy .wp-block-gallery img,
.pca-class-detail-copy .wp-block-video video,
.pca-equipment-detail-body .wp-block-gallery img,
.pca-equipment-detail-body .wp-block-video video {
    border-radius: 4px;
}
.pca-class-detail-copy .wp-block-video video,
.pca-equipment-detail-body .wp-block-video video {
    display: block;
    width: 100%;
    max-height: 70vh;
}
.pca-class-detail-copy .wp-block-embed iframe,
.pca-equipment-detail-body .wp-block-embed iframe {
    display: block;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 16 / 9;
    border: 0;
}
.pca-share-tools {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem;
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid var(--pca-border);
}
.pca-share-label {
    width: 100%;
    color: var(--pca-muted);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.pca-share-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: .45rem .85rem;
    border: 1px solid var(--pca-border);
    border-radius: 2px;
    background: transparent;
    color: var(--pca-charcoal);
    font: inherit;
    font-size: .88rem;
    line-height: 1.2;
    text-decoration: none;
    cursor: pointer;
}
.pca-share-link:hover,
.pca-share-link:focus-visible {
    border-color: var(--pca-red);
    background: var(--pca-red);
    color: #fff;
}
.pca-purchase-panel {
    max-width: 760px;
    margin-top: 1.5rem;
    padding: 1.25rem 1.5rem;
    border-left: 4px solid var(--pca-gold);
    background: rgba(255, 253, 248, .96);
    color: var(--pca-charcoal);
}
.pca-purchase-panel .pca-eyebrow {
    margin-bottom: .35rem;
}
.pca-purchase-panel p {
    margin: .35rem 0 0;
    color: var(--pca-charcoal);
    font-size: .95rem;
}
.pca-purchase-panel ol {
    margin: .35rem 0 .5rem;
    padding-left: 1.3rem;
}
.pca-purchase-panel li + li {
    margin-top: .3rem;
}
.pca-inquiry-accordion {
    border: 1px solid var(--pca-border);
    background: var(--pca-paper);
}
.pca-inquiry-accordion > summary {
    position: relative;
    padding: 1.1rem 3.25rem 1.1rem 1.25rem;
    color: var(--pca-charcoal);
    font-weight: 800;
    cursor: pointer;
    list-style: none;
}
.pca-inquiry-accordion > summary::-webkit-details-marker {
    display: none;
}
.pca-inquiry-accordion > summary::after {
    content: "+";
    position: absolute;
    top: 50%;
    right: 1.25rem;
    transform: translateY(-50%);
    color: var(--pca-red);
    font-size: 1.5rem;
    line-height: 1;
}
.pca-inquiry-accordion[open] > summary::after {
    content: "−";
}
.pca-inquiry-accordion > summary:focus-visible {
    outline: 3px solid var(--pca-gold);
    outline-offset: 3px;
}
.pca-inquiry-accordion-content {
    padding: 0 1.25rem 1.25rem;
}
.pca-equipment-detail-body .pca-class-detail-copy h2 {
    margin-top: 2rem;
    color: var(--pca-charcoal);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 500;
    line-height: 1.2;
}
.pca-equipment-detail-body .pca-class-detail-copy table {
    display: block;
    width: 100%;
    margin: 1.5rem 0 2rem;
    overflow-x: auto;
    border-collapse: collapse;
    color: var(--pca-charcoal);
    font-size: .95rem;
}
.pca-equipment-detail-body .pca-class-detail-copy th,
.pca-equipment-detail-body .pca-class-detail-copy td {
    padding: .8rem 1rem;
    border: 1px solid var(--pca-border);
    text-align: left;
    vertical-align: top;
}
.pca-equipment-detail-body .pca-class-detail-copy thead th {
    background: var(--pca-cream);
    color: var(--pca-charcoal);
}
.pca-equipment-detail-body .pca-class-detail-copy tbody tr:nth-child(even) {
    background: #f8f5ef;
}
.pca-equipment-detail-body .pca-class-detail-copy small {
    font-size: .82rem;
}

/* Scuola Italiana Pizzaioli landing page */
.pca-sip-landing { overflow:hidden; }
.pca-sip-page-hero { min-height:560px; display:flex; align-items:center; background-position:center; background-size:cover; }
.pca-sip-page-hero .pca-container { padding-top:5rem; padding-bottom:5rem; }
.pca-sip-page-hero .pca-title { max-width:850px; }
.pca-sip-page-hero p { max-width:700px; color:rgba(255,255,255,.88); font-size:1.12rem; line-height:1.7; }
.pca-sip-landing-intro, .pca-sip-landing-photo, .pca-sip-learning, .pca-sip-programs, .pca-sip-faq { padding:clamp(4rem,8vw,7rem) 0; }
.pca-sip-landing-intro { background:#f6f3ed; }
.pca-sip-landing-grid { display:grid; grid-template-columns:minmax(250px,.8fr) 1.2fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
.pca-sip-logo-panel { background:#999; display:flex; justify-content:center; align-items:center; min-height:320px; padding:1rem; }
.pca-sip-logo-panel img { display:block; width:min(100%,340px); height:auto; }
.pca-sip-landing-copy .pca-section-title, .pca-sip-landing-photo .pca-section-title { margin:0 0 1.25rem; }
.pca-sip-landing-copy p, .pca-sip-landing-photo .pca-copy, .pca-sip-faq .pca-copy { max-width:680px; line-height:1.75; }
.pca-sip-landing-photo-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
.pca-sip-landing-photo figure { margin:0; overflow:hidden; aspect-ratio:4/3; }
.pca-sip-landing-photo figure img { display:block; width:100%; height:100%; object-fit:cover; }
.pca-sip-learning { background:#202a2e; color:#fff; }
.pca-sip-learning-heading { max-width:720px; margin-bottom:2.5rem; }
.pca-sip-learning-heading .pca-section-title { color:#fff; }
.pca-sip-learning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.pca-sip-learning-grid article { padding:2rem; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.04); }
.pca-sip-learning-grid h3 { margin:1rem 0 .65rem; color:#fff; }
.pca-sip-learning-grid p { margin:0; color:rgba(255,255,255,.78); line-height:1.7; }
.pca-sip-step { color:#e4b85d; font-weight:700; letter-spacing:.12em; }
.pca-sip-programs { background:#f6f3ed; }
.pca-sip-programs-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2rem; }
.pca-sip-programs-heading p { max-width:600px; }
.pca-sip-program-list { border-top:1px solid #d8d2c7; }
.pca-sip-program-row { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; padding:1.4rem .25rem; border-bottom:1px solid #d8d2c7; color:inherit; text-decoration:none; }
.pca-sip-program-row strong, .pca-sip-program-row small { display:block; }
.pca-sip-program-row small { margin-top:.35rem; opacity:.7; }
.pca-sip-program-cta { display:flex; align-items:center; gap:.8rem; white-space:nowrap; font-weight:700; }
.pca-sip-program-empty { padding:1.5rem; background:#fff; }
.pca-sip-faq { background:#fff; }
.pca-sip-faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.pca-sip-faq-list details { padding:1.2rem 0; border-bottom:1px solid #dedbd4; }
.pca-sip-faq-list details:first-child { border-top:1px solid #dedbd4; }
.pca-sip-faq-list summary { cursor:pointer; font-weight:700; list-style:none; }
.pca-sip-faq-list summary::-webkit-details-marker { display:none; }
.pca-sip-faq-list summary:after { content:"+"; float:right; color:#a46c24; font-size:1.3rem; }
.pca-sip-faq-list details[open] summary:after { content:"−"; }
.pca-sip-faq-list details p { margin:.9rem 2rem 0 0; line-height:1.7; }
@media (max-width:850px) {
 .pca-sip-landing-grid, .pca-sip-landing-photo-grid, .pca-sip-faq-grid { grid-template-columns:1fr; }
 .pca-sip-logo-panel { min-height:260px; }
 .pca-sip-learning-grid { grid-template-columns:1fr; }
 .pca-sip-programs-heading { align-items:flex-start; flex-direction:column; }
}
@media (max-width:600px) {
 .pca-sip-page-hero { min-height:480px; }
 .pca-sip-page-hero .pca-container { padding-top:3.5rem; padding-bottom:3.5rem; }
 .pca-sip-program-row { align-items:flex-start; flex-direction:column; }
 .pca-sip-program-cta { white-space:normal; }
}

/* NAPCA homepage refresh: richer story, training feature, message hub and footer */
.pca-intro { padding:90px 0; }
.pca-intro-feature { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(2rem,6vw,6rem); align-items:center; }
.pca-intro-photo { position:relative; min-height:520px; overflow:hidden; background:#29231f; }
.pca-intro-photo img { width:100%; height:100%; min-height:520px; object-fit:cover; }
.pca-intro-photo > span { position:absolute; left:24px; bottom:24px; padding:10px 16px; background:#111; color:#fff; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.pca-intro-copy .pca-section-title { max-width:650px; margin-bottom:24px; }
.pca-intro-copy > .pca-copy { line-height:1.75; }
.pca-intro-points { margin:26px 0 30px; border-top:1px solid var(--pca-border); }
.pca-intro-points > div { display:flex; align-items:center; gap:18px; padding:13px 0; border-bottom:1px solid var(--pca-border); }
.pca-intro-points strong { color:var(--pca-red); font-size:.72rem; letter-spacing:.08em; }
.pca-intro-points span { font-weight:650; }
.pca-card-media { background:#2b2621; }
.pca-training-feature { position:relative; min-height:430px; display:block; overflow:hidden; color:#fff; background:#121212; text-decoration:none; }
.pca-training-feature::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 28%,rgba(0,0,0,.86) 100%); }
.pca-training-feature img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.pca-training-feature:hover img { transform:scale(1.035); }
.pca-training-feature > span { position:absolute; z-index:1; inset:auto 30px 30px; display:grid; gap:10px; }
.pca-training-feature small { color:#f1c98b; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.pca-training-feature strong { max-width:600px; font-family:Georgia,serif; font-size:clamp(1.8rem,3.3vw,3rem); line-height:1.05; font-weight:500; }
.pca-training-feature em { font-style:normal; font-weight:800; }
.pca-team-card { display:flex; flex-direction:column; align-items:flex-start; }
.pca-team-card h3 { margin-top:45px; }
.pca-team-card .pca-button { margin-top:auto; color:#fff; font-size:.78rem; }
.pca-team-card .pca-team-email { margin-top:12px; color:var(--pca-muted); font-size:.78rem; overflow-wrap:anywhere; }
.pca-contact-hub { scroll-margin-top:90px; }
.pca-contact-hub-copy > p { max-width:520px; color:rgba(255,255,255,.78); }
.pca-contact-hub .pca-fce { max-width:none; margin:0; border:0; box-shadow:0 24px 70px rgba(0,0,0,.16); }
.pca-contact-hub .pca-contact-privacy { max-width:720px; margin:12px 0 0; color:rgba(255,255,255,.68); font-size:.8rem; }
.pca-contact-recipient select { min-height:45px; }
.pca-footer { padding:72px 0 28px; background:#090909; }
.pca-footer-grid { display:grid; grid-template-columns:1.25fr 1fr 1.25fr .8fr; gap:clamp(1.5rem,3vw,3.5rem); align-items:start; padding-bottom:54px; }
.pca-footer-logo img { max-height:115px; }
.pca-footer-brand p { max-width:300px; color:rgba(255,255,255,.68); line-height:1.7; }
.pca-footer h2 { margin:8px 0 18px; color:#fff; font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-size:.75rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.pca-footer-nav, .pca-footer-contact { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.pca-footer-nav a, .pca-footer-contact a, .pca-footer-social a { color:rgba(255,255,255,.78); text-decoration:none; font-size:.88rem; }
.pca-footer-nav a:hover, .pca-footer-contact a:hover, .pca-footer-social a:hover { color:#e9c5b4; }
.pca-footer-contact p { margin:0 0 4px; color:rgba(255,255,255,.68); line-height:1.65; }
.pca-footer-contact .pca-footer-contact-cta { margin-top:8px; color:#fff; font-weight:800; }
.pca-footer-social-links { display:grid; gap:10px; }
.pca-footer-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; padding-top:22px; border-top:1px solid rgba(255,255,255,.17); color:rgba(255,255,255,.56); font-size:.76rem; }
.pca-footer-meta a { color:#fff; }
@media(max-width:950px) {
 .pca-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .pca-intro-feature { grid-template-columns:1fr; }
 .pca-intro-photo, .pca-intro-photo img { min-height:320px; }
 .pca-training-feature { min-height:360px; }
 .pca-footer-grid { grid-template-columns:1fr 1fr; gap:34px 22px; }
}
@media(max-width:480px) {
 .pca-footer-grid { grid-template-columns:1fr; }
 .pca-footer-meta { flex-direction:column; }
}

/* Equipment checkout: readable, age-friendly controls and clear steps */
body.page-id-567 main[style] {
    padding:clamp(2rem,5vw,4rem) 0 !important;
}
body.page-id-567 .pca-container {
    width:min(calc(100% - 32px), 1180px);
}
body.page-id-567 article > .pca-title.pca-section-title {
    max-width:900px;
    margin:0 auto 1.25rem;
    font-size:clamp(2.4rem,5vw,4rem);
    line-height:1.08;
}
body.page-id-567 .pca-checkout-intro,
body.page-id-567 .pca-checkout {
    max-width:1100px;
    margin-inline:auto;
}
body.page-id-567 .pca-checkout-intro {
    margin-bottom:2rem;
    padding:1.5rem clamp(1.1rem,3vw,2rem);
    border:1px solid #d9d1c4;
    border-left:6px solid #8f2633;
    border-radius:8px;
    background:#f7f3eb;
    color:#242424;
    font-size:1.15rem;
    line-height:1.7;
}
body.page-id-567 .pca-checkout-intro > p:first-child { margin-top:0; }
body.page-id-567 .pca-checkout-intro > p:last-child { margin-bottom:0; }
body.page-id-567 .pca-checkout-steps {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.75rem 1.5rem;
    margin:1rem 0;
    padding-left:1.5rem;
}
body.page-id-567 .pca-checkout-intro a {
    color:#6e1824;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:3px;
}
body.page-id-567 .pca-checkout h2 {
    margin:0 0 1.1rem;
    font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:clamp(1.65rem,3vw,2.2rem);
    line-height:1.25;
    letter-spacing:0;
}
body.page-id-567 .pca-checkout-status {
    padding:1rem 1.15rem;
    margin:1rem 0 1.5rem;
    border-radius:8px;
    border:1px solid #d8c59f;
    border-left:6px solid #8b5a12;
    background:#fff7e6;
    color:#3b2b12;
    font-size:1.05rem;
    line-height:1.55;
}
body.page-id-567 .pca-checkout-status.is-error {
    border-color:#b54c31;
    border-left-color:#8f2633;
    background:#fff1eb;
    color:#621d12;
}
body.page-id-567 .pca-item-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:stretch;
    gap:1.5rem;
}
body.page-id-567 .pca-item-card {
    display:flex;
    flex-direction:column;
    border:1px solid #d8d1c6;
    border-radius:12px;
    box-shadow:0 4px 16px rgba(18,27,22,.07);
}
body.page-id-567 .pca-item-card > img {
    height:clamp(220px,24vw,300px);
    object-fit:cover;
    background:#f3f0ea;
}
body.page-id-567 .pca-item-copy {
    display:flex;
    flex:1;
    flex-direction:column;
    align-items:flex-start;
    padding:clamp(1.2rem,2.3vw,1.7rem);
}
body.page-id-567 .pca-item-copy small {
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.08em;
}
body.page-id-567 .pca-item-copy h3 {
    margin:.45rem 0 .75rem;
    color:#161a18;
    font-size:clamp(1.25rem,2vw,1.65rem);
    line-height:1.25;
}
body.page-id-567 .pca-item-copy p {
    font-size:1.08rem;
    line-height:1.65;
}
body.page-id-567 .pca-item-copy strong {
    margin-top:auto;
    padding-top:.75rem;
    font-size:1.5rem;
    line-height:1.3;
}
body.page-id-567 .pca-item-copy button,
body.page-id-567 .pca-pay-button {
    width:100%;
    min-height:56px;
    padding:.8rem 1rem;
    border-radius:7px;
    font-size:1.05rem;
    line-height:1.3;
}
body.page-id-567 .pca-item-copy button:focus-visible,
body.page-id-567 .pca-pay-button:focus-visible,
body.page-id-567 .pca-cart button:focus-visible,
body.page-id-567 .pca-cart input:focus-visible,
body.page-id-567 .pca-checkout-form input:focus-visible,
body.page-id-567 .pca-checkout-form textarea:focus-visible {
    outline:3px solid #153e53;
    outline-offset:3px;
}
body.page-id-567 .pca-cart {
    margin:2rem 0;
    padding:clamp(1.2rem,3vw,2rem);
    border:2px solid #8f2633;
    border-radius:10px;
    background:#fffdf8;
}
body.page-id-567 .pca-cart h3,
body.page-id-567 .pca-checkout-form h3 {
    margin-top:0;
    font-size:1.6rem;
    line-height:1.3;
}
body.page-id-567 .pca-cart li {
    font-size:1.05rem;
    line-height:1.6;
}
body.page-id-567 .pca-cart input[type="number"] {
    min-width:5rem;
    min-height:48px;
    padding:.45rem;
    font-size:1.05rem;
}
body.page-id-567 .pca-checkout-form {
    max-width:760px;
    padding:clamp(1.2rem,3vw,2rem);
    border:1px solid #d8d1c6;
    border-radius:10px;
    background:#f7f3eb;
}
body.page-id-567 .pca-checkout-form label {
    margin:1.1rem 0;
    font-size:1.05rem;
    font-weight:700;
}
body.page-id-567 .pca-checkout-form input:not([type="checkbox"]),
body.page-id-567 .pca-checkout-form textarea {
    min-height:56px;
    padding:.8rem .9rem;
    border:2px solid #74716a;
    border-radius:6px;
    background:#fff;
    color:#181818;
    font:inherit;
    font-weight:400;
}
body.page-id-567 .pca-checkout-form textarea { min-height:120px; }
body.page-id-567 .pca-checkout-form input[type="checkbox"] {
    width:26px;
    height:26px;
    flex:0 0 26px;
    margin:.1rem 0 0;
    accent-color:#8f2633;
}
body.page-id-567 .pca-checkout-form .pca-ack {
    display:flex;
    align-items:flex-start;
    gap:.8rem;
    line-height:1.55;
}
@media(max-width:760px) {
    body.page-id-567 .pca-item-grid { grid-template-columns:1fr; }
    body.page-id-567 .pca-checkout-steps { grid-template-columns:1fr; gap:.35rem; }
    body.page-id-567 article > .pca-title.pca-section-title { font-size:clamp(2.2rem,9vw,3.4rem); }
}
@media(prefers-reduced-motion:reduce) {
    body.page-id-567 *, body.page-id-567 *::before, body.page-id-567 *::after {
        scroll-behavior:auto !important;
        transition-duration:.01ms !important;
        animation-duration:.01ms !important;
    }
}
