/*
 * Clarion ProSeries — Phase 1 brand foundation
 * ------------------------------------------------------------
 * This file is intentionally site-level and token-driven.
 * Product-specific presentation comes later.
 */

:root {
    /* Brand palette */
    --ps-red: #A60F17;
    --ps-red-deep: #7C0B11;
    --ps-red-soft: #F7EDEF;
    --ps-gold: #D79A00;
    --ps-gold-deep: #8C6200;

    /* Neutrals */
    --ps-ink: #211D1B;
    --ps-ink-soft: #514A46;
    --ps-muted: #736A65;
    --ps-paper: #FBF8F4;
    --ps-surface: #FFFFFF;
    --ps-surface-muted: #F5F0EB;
    --ps-border: #E5DDD6;
    --ps-charcoal: #1E1C1B;

    /* Layout */
    --ps-radius-sm: 6px;
    --ps-radius-md: 10px;
    --ps-radius-lg: 16px;
    --ps-shadow-soft: 0 8px 24px rgba(46, 30, 24, 0.08);
    --ps-shadow-card: 0 2px 10px rgba(46, 30, 24, 0.06);

    /* Quark 2 / Blades hooks */
    --q2-accent: var(--ps-red);
    --q2-link: var(--ps-red);
    --q2-accent-contrast: #FFFFFF;
    --pico-font-family-display: "Cal Sans", "Inter", system-ui, sans-serif;
    --pico-font-family-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

:root[data-theme='dark'] {
    --ps-paper: #171514;
    --ps-surface: #211E1C;
    --ps-surface-muted: #292522;
    --ps-ink: #F6F1EC;
    --ps-ink-soft: #D8CEC7;
    --ps-muted: #B8ACA4;
    --ps-border: #403934;
}

/* Base canvas */
body {
    background: var(--ps-paper);
    color: var(--ps-ink);
}

#body-wrapper {
    background: var(--ps-paper);
}

/* Header */
#header {
    background: color-mix(in srgb, var(--ps-surface) 96%, var(--ps-paper));
    border-bottom: 1px solid var(--ps-border);
    box-shadow: 0 1px 0 rgba(46, 30, 24, 0.025);
}

#header::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: linear-gradient(90deg, var(--ps-red), var(--ps-red) 72%, var(--ps-gold));
}

/* Wordmark */
.ps-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    color: var(--ps-ink);
    min-width: max-content;
}

.ps-brand:hover,
.ps-brand:focus {
    text-decoration: none;
}

.ps-brand-copy {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.ps-brand-name {
    display: block;
    font-family: var(--pico-font-family-display);
    font-size: clamp(1.1rem, 1.5vw, 1.35rem);
    letter-spacing: -0.02em;
    color: var(--ps-ink);
}

.ps-brand-name strong {
    color: var(--ps-red);
    font-weight: 700;
}

.ps-brand-tagline {
    margin-top: 0.22rem;
    color: var(--ps-gold-deep);
    font-size: 0.68rem;
    font-weight: 650;
    letter-spacing: 0.025em;
}

/* Navigation */
#header .dropmenu a {
    font-weight: 600;
}

#header .dropmenu a:hover,
#header .dropmenu a:focus,
#header .dropmenu .active > a {
    color: var(--ps-red);
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    color: var(--ps-ink);
    letter-spacing: -0.025em;
}

h1 {
    line-height: 1.05;
}

h2 {
    position: relative;
}

a {
    color: var(--ps-red);
}

a:hover,
a:focus {
    color: var(--ps-red-deep);
}

/* Buttons */
button,
[role="button"],
.button,
input[type="submit"],
input[type="button"] {
    border-radius: var(--ps-radius-sm);
}

button:not(.secondary):not(.outline),
[role="button"]:not(.secondary):not(.outline),
.button:not(.secondary):not(.outline),
input[type="submit"] {
    background: var(--ps-red);
    border-color: var(--ps-red);
    color: #fff;
}

button:not(.secondary):not(.outline):hover,
[role="button"]:not(.secondary):not(.outline):hover,
.button:not(.secondary):not(.outline):hover,
input[type="submit"]:hover {
    background: var(--ps-red-deep);
    border-color: var(--ps-red-deep);
}

/* Generic Phase 1 component hooks */
.ps-eyebrow {
    color: var(--ps-red);
    font-size: 0.78rem;
    font-weight: 750;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.ps-gold-rule {
    width: 4.25rem;
    height: 3px;
    margin: 0.8rem 0 1.4rem;
    background: var(--ps-gold);
    border-radius: 99px;
}

.ps-card {
    background: var(--ps-surface);
    border: 1px solid var(--ps-border);
    border-radius: var(--ps-radius-md);
    box-shadow: var(--ps-shadow-card);
    padding: 1.35rem;
}

.ps-card:hover {
    box-shadow: var(--ps-shadow-soft);
}

/* Footer */
#footer.ps-footer {
    background: var(--ps-charcoal);
    color: #EEE8E3;
    border-top: 3px solid var(--ps-red);
}

.ps-footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.ps-footer strong {
    color: #FFFFFF;
}

.ps-footer-tagline {
    display: block;
    color: #CFC4BC;
    margin-top: 0.15rem;
    font-size: 0.82rem;
}

.ps-footer-meta {
    color: #BEB2AA;
    font-size: 0.8rem;
}

/* Small screens */
@media (max-width: 820px) {
    .ps-brand-tagline {
        display: none;
    }

    .ps-footer-inner {
        align-items: flex-start;
        flex-direction: column;
    }
}

/*
 * Phase 1 deliberately does NOT:
 * - define product cards,
 * - define product pages,
 * - define homepage hero,
 * - create a fake sextant logo.
 *
 * Those arrive after the foundation is reviewed in the actual Grav site.
 */

/* Phase 2 */
#header .navbar{min-height:4.5rem}
.ps-brand-name{font-size:clamp(1.25rem,1.7vw,1.55rem)}
.ps-brand-tagline{font-size:.74rem;margin-top:.3rem}
#header .dropmenu>ul>li.active>a{background:var(--ps-red-soft);color:var(--ps-red-deep)}
.ps-button{display:inline-flex;align-items:center;justify-content:center;min-height:2.8rem;padding:.72rem 1.1rem;border-radius:var(--ps-radius-sm);font-weight:750;text-decoration:none}
.ps-button-primary{background:var(--ps-red);color:#fff}
.ps-button-primary:hover{background:var(--ps-red-deep);color:#fff;text-decoration:none}
.ps-button-secondary{background:var(--ps-surface);border:1px solid var(--ps-border);color:var(--ps-ink)}
.ps-button-full{width:100%}.ps-text-link{font-weight:700;text-decoration:none}
.ps-home-hero{position:relative;overflow:hidden;padding:clamp(4.5rem,8vw,7rem) 0;background:linear-gradient(115deg,rgba(166,15,23,.035),transparent 45%),var(--ps-paper);border-bottom:1px solid var(--ps-border)}
.ps-home-hero:after{content:"";position:absolute;width:24rem;height:24rem;right:-10rem;top:-11rem;border:1px solid color-mix(in srgb,var(--ps-gold) 30%,transparent);border-radius:50%;box-shadow:0 0 0 4rem color-mix(in srgb,var(--ps-red) 2.5%,transparent),0 0 0 8rem color-mix(in srgb,var(--ps-gold) 2.5%,transparent)}
.ps-home-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(18rem,.75fr);gap:clamp(2.5rem,7vw,6rem);align-items:center}
.ps-home-hero h1{max-width:12ch;margin:.7rem 0 0;font-size:clamp(3rem,6vw,5.3rem);line-height:.98}
.ps-home-lead{max-width:42rem;color:var(--ps-ink-soft);font-size:clamp(1.08rem,1.6vw,1.28rem);line-height:1.65}
.ps-home-actions{margin-top:1.8rem}
.ps-home-signature{position:relative;z-index:1;padding:1.6rem;background:rgba(255,255,255,.78);border:1px solid var(--ps-border);border-top:3px solid var(--ps-gold);border-radius:var(--ps-radius-md);box-shadow:var(--ps-shadow-card)}
.ps-signature-kicker{color:var(--ps-red);font-size:.7rem;font-weight:800;letter-spacing:.12em}
.ps-signature-line{margin:.5rem 0 .7rem;font-family:var(--pico-font-family-display);font-size:1.45rem;line-height:1.1}.ps-home-signature p{margin:0;color:var(--ps-muted);font-size:.91rem;line-height:1.55}
.ps-section{padding:clamp(3.5rem,6vw,5.5rem) 0}.ps-section-muted{background:var(--ps-surface-muted);border-top:1px solid var(--ps-border)}
.ps-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.ps-section-heading h2{margin:.25rem 0 0}
.ps-page-heading{max-width:52rem;padding:1rem 0 .5rem}.ps-page-heading h1{margin:.4rem 0 0;font-size:clamp(2.5rem,5vw,4.2rem)}.ps-page-intro{color:var(--ps-ink-soft);font-size:1.08rem}.ps-catalog-meta{margin:1rem 0 1.2rem;color:var(--ps-muted);font-size:.86rem}
.ps-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.ps-product-grid-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
.ps-product-card{margin:0;overflow:hidden;background:var(--ps-surface);border:1px solid var(--ps-border);border-radius:var(--ps-radius-md);box-shadow:var(--ps-shadow-card);transition:.14s}
.ps-product-card:hover{transform:translateY(-2px);box-shadow:var(--ps-shadow-soft)}
.ps-product-card-link{display:flex;flex-direction:column;min-height:100%;padding:1.35rem;color:inherit;text-decoration:none}.ps-product-card-link:hover{color:inherit;text-decoration:none}
.ps-product-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.ps-product-card h3{margin:0;color:var(--ps-red);font-size:1.35rem}.ps-product-tagline{margin-top:.25rem;color:var(--ps-muted);font-size:.82rem}.ps-card-arrow{color:var(--ps-gold-deep);font-size:1.25rem;font-weight:800}
.ps-product-summary{flex:1;margin:1rem 0;color:var(--ps-ink-soft);font-size:.91rem;line-height:1.55}
.ps-badge-row{display:flex;flex-wrap:wrap;gap:.38rem}.ps-badge{display:inline-flex;padding:.25rem .43rem;border-radius:4px;background:var(--ps-surface-muted);border:1px solid var(--ps-border);color:var(--ps-ink-soft);font-size:.64rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase}.ps-badge-red{background:var(--ps-red-soft);color:var(--ps-red-deep)}.ps-badge-gold{background:color-mix(in srgb,var(--ps-gold) 13%,white);color:var(--ps-gold-deep)}
.ps-product-card-footer{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-top:1.15rem;padding-top:.9rem;border-top:1px solid var(--ps-border)}.ps-view-product{color:var(--ps-red);font-size:.83rem;font-weight:750}.ps-card-price{font-size:.95rem;font-weight:800}
.ps-product-hero{padding:clamp(3.5rem,6vw,5.3rem) 0;background:linear-gradient(120deg,var(--ps-red-soft),transparent 48%),var(--ps-paper);border-bottom:1px solid var(--ps-border)}
.ps-product-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(17rem,.58fr);gap:clamp(2rem,6vw,5rem);align-items:start}.ps-product-hero h1{margin:.45rem 0;font-size:clamp(3rem,6vw,5rem)}.ps-product-hero-tagline{margin:0;color:var(--ps-gold-deep);font-family:var(--pico-font-family-display);font-size:clamp(1.15rem,2vw,1.45rem)}.ps-product-hero-badges{margin-top:1.3rem}.ps-product-hero-summary{max-width:46rem;margin:1.3rem 0 0;color:var(--ps-ink-soft);font-size:1.05rem;line-height:1.65}
.ps-buy-panel{position:sticky;top:6rem;padding:1.25rem;background:var(--ps-surface);border:1px solid var(--ps-border);border-top:3px solid var(--ps-gold);border-radius:var(--ps-radius-md);box-shadow:var(--ps-shadow-soft)}.ps-buy-label{color:var(--ps-red);font-size:.7rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.ps-price-block+.ps-price-block{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--ps-border)}.ps-price-name{margin-top:.6rem;color:var(--ps-muted);font-size:.82rem}.ps-price{margin:.1rem 0 .7rem;font-family:var(--pico-font-family-display);font-size:1.65rem}.ps-buy-divider{height:1px;margin:1.2rem 0;background:var(--ps-border)}.ps-action-placeholder{margin-top:.5rem;color:var(--ps-muted);font-size:.78rem}
.ps-product-body-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(15rem,.5fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}.ps-product-prose{max-width:48rem}.ps-prose{line-height:1.7}.ps-prose h2{margin-top:2.2rem}.ps-product-facts{padding-left:1.25rem;border-left:2px solid var(--ps-border)}.ps-product-facts h2{margin-top:0;font-size:1.15rem}.ps-fact{display:flex;flex-direction:column;gap:.15rem;padding:.7rem 0;border-bottom:1px solid var(--ps-border)}.ps-fact span{color:var(--ps-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.ps-fact strong{font-size:.9rem}
@media(max-width:980px){.ps-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ps-home-hero-grid,.ps-product-hero-grid,.ps-product-body-grid{grid-template-columns:1fr}.ps-buy-panel{position:static;max-width:34rem}.ps-product-facts{padding-left:0;border-left:0;border-top:2px solid var(--ps-border);padding-top:1.25rem}}
@media(max-width:650px){.ps-product-grid,.ps-product-grid-catalog{grid-template-columns:1fr}.ps-home-hero h1{font-size:clamp(2.7rem,13vw,4rem)}.ps-section-heading{align-items:flex-start;flex-direction:column}}


/* ============================================================
   Phase 2 refinement — full-page screenshot review
   ============================================================ */

/* Active navigation: remove the inherited dark Quark pill. */
#header .dropmenu ul li.active > a,
#header .dropmenu > ul > li.active > a {
    background: transparent !important;
    color: var(--ps-red) !important;
    border-radius: 0 !important;
    box-shadow: inset 0 -2px 0 var(--ps-red) !important;
}

/* Hero: more room for the headline, less empty vertical space, no word hyphenation. */
.ps-home-hero {
    padding: clamp(3.2rem, 5.5vw, 5rem) 0;
}

.ps-home-hero-grid {
    grid-template-columns: minmax(0, 1.72fr) minmax(16rem, 0.68fr);
    gap: clamp(2.25rem, 5vw, 4.5rem);
}

.ps-home-hero h1 {
    max-width: 15ch;
    font-size: clamp(2.9rem, 5vw, 4.75rem);
    line-height: 1.01;
    hyphens: none !important;
    -webkit-hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.ps-home-signature {
    padding: 1.45rem;
}

.ps-home-signature p {
    margin-bottom: 0.9rem;
}

.ps-signature-points {
    margin: 0;
    padding: 0;
    list-style: none;
}

.ps-signature-points li {
    position: relative;
    margin: 0.42rem 0;
    padding-left: 1rem;
    color: var(--ps-ink-soft);
    font-size: 0.82rem;
    line-height: 1.4;
}

.ps-signature-points li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.52em;
    width: 0.36rem;
    height: 0.36rem;
    border-radius: 50%;
    background: var(--ps-gold);
}

/* Featured/catalog cards: compact enough to scale to the full 40+ product line. */
.ps-section {
    padding: clamp(3.1rem, 5vw, 4.6rem) 0;
}

.ps-product-grid-catalog {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ps-card-price {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    line-height: 1.15;
}

.ps-card-price small {
    margin-bottom: 0.12rem;
    color: var(--ps-muted);
    font-size: 0.62rem;
    font-weight: 650;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* Product detail: tighten the upper area and remove Quark's decorative heading marks. */
.ps-product-hero {
    padding: clamp(2.8rem, 4.5vw, 4rem) 0;
}

.ps-product-prose h2::before,
.ps-product-prose h2::after {
    content: none !important;
    display: none !important;
}

.ps-product-prose h2 {
    margin-top: 2.25rem;
    padding-top: 0;
}

/* Keep the wider catalog responsive. */
@media (max-width: 1100px) {
    .ps-product-grid-catalog {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .ps-home-hero-grid {
        grid-template-columns: 1fr;
    }

    .ps-home-hero h1 {
        max-width: 13ch;
    }

    .ps-home-signature {
        max-width: 36rem;
    }
}

@media (max-width: 650px) {
    .ps-product-grid-catalog {
        grid-template-columns: 1fr;
    }

    .ps-home-hero h1 {
        max-width: none;
        overflow-wrap: break-word !important;
    }
}


/* Phase 3 — representative catalog and categories */
#header .dropmenu a.active,
#header .dropmenu li.active > a,
#header .dropmenu a[aria-current="page"],
#header nav a.active,
#header nav li.active > a,
#header nav a[aria-current="page"] {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--ps-red) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: inset 0 -2px 0 var(--ps-red) !important;
}
.ps-product-facts h2::before,
.ps-product-facts h2::after { content:none !important; display:none !important; }

.ps-page-actions{margin-top:1rem}
.ps-category-stack{margin-top:2rem}
.ps-category-section{padding:2.4rem 0 2.8rem;border-top:1px solid var(--ps-border)}
.ps-category-section:first-child{border-top:0;padding-top:1rem}
.ps-category-heading{margin-bottom:1.1rem}
.ps-category-heading h2{margin:.25rem 0 .35rem;font-size:clamp(1.65rem,3vw,2.25rem)}
.ps-category-heading p{max-width:48rem;margin:0;color:var(--ps-muted);line-height:1.55}
.ps-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ps-category-empty{color:var(--ps-muted);font-style:italic}
@media(max-width:1100px){.ps-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.ps-category-grid{grid-template-columns:1fr}}


/* Retired product state */
.ps-badge-retired{background:#eeeae6;border-color:#d8d0c9;color:#655d57}
.ps-product-card-retired{background:color-mix(in srgb,var(--ps-surface) 92%,var(--ps-surface-muted))}
.ps-product-card-retired h3{color:var(--ps-ink-soft)}
.ps-card-status{max-width:9rem;color:var(--ps-muted);font-size:.68rem;font-weight:700;line-height:1.2;text-align:right}
.ps-retired-panel{border-top-color:var(--ps-muted)}
.ps-retired-title{margin:.65rem 0 .45rem;color:var(--ps-ink);font-family:var(--pico-font-family-display);font-size:1.25rem;line-height:1.15}
.ps-retired-copy{margin:0 0 1rem;color:var(--ps-muted);font-size:.88rem;line-height:1.5}


/* Product Contract v1 — release/support facts */
.ps-facts-section + .ps-facts-section {
    margin-top: 1.75rem;
}


/* Product Contract v1 final — discovery ordering and heading cleanup */
.ps-section-heading h2::before,
.ps-section-heading h2::after,
.ps-category-heading h2::before,
.ps-category-heading h2::after {
    content: none !important;
    display: none !important;
}

.ps-category-previous-heading {
    margin: 1.35rem 0 .8rem;
    padding-top: 1rem;
    border-top: 1px solid var(--ps-border);
}

.ps-category-previous-heading span {
    color: var(--ps-muted);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ps-category-grid-retired .ps-product-card {
    box-shadow: none;
}


/* ============================================================
   Blog foundation
   ============================================================ */
.ps-blog-heading{margin-bottom:2rem}
.ps-blog-list{display:grid;gap:1rem;margin-top:1.5rem}
.ps-blog-card{max-width:58rem;padding:1.5rem 1.6rem;background:var(--ps-surface);border:1px solid var(--ps-border);border-radius:var(--ps-radius-md);box-shadow:var(--ps-shadow-soft)}
.ps-blog-card-meta,.ps-article-meta{display:flex;flex-wrap:wrap;gap:.55rem 1rem;align-items:center;color:var(--ps-muted);font-size:.75rem}
.ps-blog-card-category,.ps-article-meta span{color:var(--ps-red);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.ps-blog-card h2{margin:.5rem 0 .55rem;font-size:clamp(1.55rem,3vw,2rem)}
.ps-blog-card h2::before,.ps-blog-card h2::after{content:none!important;display:none!important}
.ps-blog-card h2 a{color:var(--ps-ink);text-decoration:none}
.ps-blog-card h2 a:hover{color:var(--ps-red)}
.ps-blog-card p{max-width:48rem;margin:0;color:var(--ps-ink-soft);line-height:1.6}
.ps-blog-card-footer{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--ps-border)}
.ps-blog-related-link{color:var(--ps-muted);font-size:.78rem;font-weight:700;text-decoration:none}
.ps-blog-related-link:hover{color:var(--ps-red)}
.ps-blog-empty{padding:2rem 0 4rem}
.ps-article-hero{padding:clamp(3.1rem,5vw,4.8rem) 0;background:radial-gradient(circle at 85% 20%,rgba(215,154,0,.08),transparent 24rem),var(--ps-paper);border-bottom:1px solid var(--ps-border)}
.ps-article-hero-inner{max-width:56rem}
.ps-article-hero h1{max-width:14ch;margin:.45rem 0 .8rem;font-size:clamp(2.8rem,5vw,4.6rem);line-height:1.02}
.ps-article-deck{max-width:48rem;margin:1.25rem 0 0;color:var(--ps-ink-soft);font-size:1.1rem;line-height:1.65}
.ps-article-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(14rem,.45fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}
.ps-article-prose{max-width:50rem}
.ps-article-prose h2::before,.ps-article-prose h2::after{content:none!important;display:none!important}
.ps-article-sidebar{padding-left:1.25rem;border-left:2px solid var(--ps-border)}
.ps-article-sideblock+.ps-article-sideblock{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--ps-border)}
.ps-article-sideblock h2{margin:.45rem 0 .65rem;font-size:1.3rem}
.ps-article-sideblock h2::before,.ps-article-sideblock h2::after{content:none!important;display:none!important}
.ps-article-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
@media(max-width:850px){.ps-article-layout{grid-template-columns:1fr}.ps-article-sidebar{padding-left:0;padding-top:1.4rem;border-left:0;border-top:2px solid var(--ps-border)}}
@media(max-width:650px){.ps-blog-card-footer{align-items:flex-start;flex-direction:column}.ps-article-hero h1{max-width:none}}


/* ============================================================
   Contact foundation
   ============================================================ */
.ps-contact-layout {
    display: grid;
    grid-template-columns: minmax(15rem,.72fr) minmax(0,1.28fr);
    gap: clamp(2rem,5vw,4rem);
    align-items: start;
    margin-top: 1.75rem;
    padding-bottom: 4rem;
}

.ps-contact-intro {
    max-width: 32rem;
}

.ps-contact-copy > p:first-child {
    margin-top: 0;
}

.ps-contact-note {
    margin-top: 1.5rem;
    padding: 1.15rem 1.2rem;
    background: rgba(215,154,0,.055);
    border: 1px solid var(--ps-border);
    border-radius: var(--ps-radius-md);
}

.ps-contact-note p {
    margin: .45rem 0 0;
    color: var(--ps-muted);
    font-size: .88rem;
    line-height: 1.55;
}

.ps-contact-form-card {
    padding: clamp(1.25rem,3vw,2rem);
    background: var(--ps-surface);
    border: 1px solid var(--ps-border);
    border-radius: var(--ps-radius-md);
    box-shadow: var(--ps-shadow-soft);
}

.ps-contact-form-card form {
    margin: 0;
}

.ps-contact-form-card .form-field {
    margin-bottom: 1rem;
}

.ps-contact-form-card label,
.ps-contact-form-card .form-label {
    display: block;
    margin-bottom: .35rem;
    color: var(--ps-ink);
    font-weight: 750;
    font-size: .88rem;
}

.ps-contact-form-card input[type="text"],
.ps-contact-form-card input[type="email"],
.ps-contact-form-card select,
.ps-contact-form-card textarea {
    width: 100%;
    box-sizing: border-box;
    padding: .72rem .8rem;
    background: #fff;
    color: var(--ps-ink);
    border: 1px solid #cec5be;
    border-radius: .35rem;
    font: inherit;
    line-height: 1.4;
}

.ps-contact-form-card textarea {
    min-height: 12rem;
    resize: vertical;
}

.ps-contact-form-card input:focus,
.ps-contact-form-card select:focus,
.ps-contact-form-card textarea:focus {
    outline: 2px solid rgba(166,15,23,.18);
    outline-offset: 1px;
    border-color: var(--ps-red);
}

.ps-contact-form-card button[type="submit"],
.ps-contact-form-card input[type="submit"] {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: .72rem 1.15rem;
    background: var(--ps-red);
    color: #fff;
    border: 0;
    border-radius: .35rem;
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}

.ps-contact-form-card button[type="submit"]:hover,
.ps-contact-form-card input[type="submit"]:hover {
    background: var(--ps-red-deep) !important;
    color: #fff !important;
    text-decoration: none !important;
}

.ps-contact-form-card .form-errors,
.ps-contact-form-card .alert-error,
.ps-contact-form-card .form-message.error {
    margin-bottom: 1rem;
    padding: .8rem 1rem;
    border: 1px solid #d9aaaa;
    border-radius: .35rem;
    background: #fff5f5;
    color: #7c0b11;
}

.ps-contact-thanks {
    max-width: 52rem;
    padding: 3.5rem 0 5rem;
}

.ps-contact-thanks h1 {
    margin: .45rem 0;
}

.ps-contact-thanks-card {
    margin-top: 1.75rem;
    padding: 1.5rem 1.6rem;
    background: var(--ps-surface);
    border: 1px solid var(--ps-border);
    border-radius: var(--ps-radius-md);
    box-shadow: var(--ps-shadow-soft);
}

.ps-contact-success {
    margin: 0 0 1rem;
    color: var(--ps-red);
    font-weight: 800;
}

@media (max-width: 850px) {
    .ps-contact-layout {
        grid-template-columns: 1fr;
    }

    .ps-contact-intro {
        max-width: none;
    }
}
