/*
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.2.0
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:100px max(30px,calc((100vw - var(--pca-max))/2));
}

.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:
        radial-gradient(
            circle at 50% 40%,
            #245b72 0%,
            #153e53 45%,
            #0c2837 100%
        );
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 24px 70px rgba(0,0,0,.15);
}

.pca-sip-mark span {
    width:190px;
    height:190px;
    border:2px solid rgba(255,255,255,.7);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-family:Georgia,serif;
    font-size:4.4rem;
    letter-spacing:.05em;
}

.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(3,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;
}
