/* Prevello v2.5 — public/company/blog/archive content */
.prv-page-hero {
    padding:75px 0 50px;
    border-bottom:1px solid var(--prv-border);
    background:
        radial-gradient(circle at 88% 15%, rgba(87,183,93,.09), transparent 27%),
        linear-gradient(180deg,#fff,#fbfbfb);
}
.prv-page-hero-inner {
    max-width:900px;
}
.prv-page-eyebrow {
    display:block;
    margin-bottom:14px;
    color:#2563EB;
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.09em;
}
.prv-page-hero h1 {
    margin:0;
    font-size:clamp(44px,6vw,76px);
    line-height:.98;
    letter-spacing:-.055em;
}
.prv-page-hero p {
    max-width:720px;
    margin:21px 0 0;
    color:#666;
    font-size:18px;
}
.prv-page-body {
    padding:58px 0 100px;
}
.prv-page-body article {
    max-width:900px;
}
.prv-page-body article > :first-child {
    margin-top:0;
}
.prv-page-body h2 {
    margin-top:1.8em;
    font-size:clamp(28px,3.8vw,42px);
    line-height:1.12;
    letter-spacing:-.035em;
}
.prv-page-body h3 {
    margin-top:1.6em;
    font-size:23px;
}
.prv-page-body p,
.prv-page-body li {
    font-size:17px;
}

@media (max-width: 900px) {
    .prv-footer-main { grid-template-columns:1fr 1fr; }
}
@media (max-width: 700px) {
    .prv-footer-cta-inner { grid-template-columns:1fr; }
    .prv-footer-main { grid-template-columns:1fr; gap:32px; }
    .prv-footer-bottom-inner { flex-direction:column; padding-bottom:95px; }
    .prv-page-hero { padding:54px 0 38px; }
    .prv-page-body { padding:44px 0 90px; }
}


/* Prevello Company Pages v1.3 */
.prv-company-hero {
    position:relative;
    overflow:hidden;
    padding:88px 0 62px;
    border-bottom:1px solid var(--prv-border);
    background:
        radial-gradient(circle at 84% 16%, rgba(87,183,93,.12), transparent 27%),
        radial-gradient(circle at 98% 92%, rgba(13,33,59,.07), transparent 30%),
        linear-gradient(180deg,#fff 0%,#fafafa 100%);
}
.prv-company-hero::after {
    content:"";
    position:absolute;
    right:-120px;
    top:-170px;
    width:430px;
    height:430px;
    border:1px solid rgba(17,17,17,.055);
    border-radius:50%;
}
.prv-company-hero-inner {
    position:relative;
    z-index:1;
    max-width:980px;
}
.prv-company-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#2563EB;
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.095em;
}
.prv-company-eyebrow::before {
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#15B8C8;
}
.prv-company-hero h1 {
    max-width:950px;
    margin:16px 0 0;
    font-size:clamp(48px,6.5vw,82px);
    line-height:.97;
    letter-spacing:-.06em;
}
.prv-company-intro {
    max-width:790px;
    margin:24px 0 0;
    color:#606060;
    font-size:19px;
    line-height:1.65;
}
.prv-company-hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:29px;
}
.prv-company-layout {
    display:grid;
    grid-template-columns:minmax(0,1fr) 270px;
    gap:72px;
    align-items:start;
    padding:70px 0 105px;
}
.prv-company-content {
    min-width:0;
    max-width:900px;
}
.prv-company-content > :first-child {
    margin-top:0;
}
.prv-company-content h2 {
    margin:1.75em 0 .55em;
    font-size:clamp(30px,4vw,45px);
    line-height:1.08;
    letter-spacing:-.04em;
}
.prv-company-content h3 {
    margin:1.4em 0 .45em;
    font-size:23px;
    line-height:1.2;
    letter-spacing:-.025em;
}
.prv-company-content p,
.prv-company-content li {
    font-size:17px;
    line-height:1.72;
}
.prv-company-content ul,
.prv-company-content ol {
    padding-left:1.25em;
}
.prv-company-content .wp-block-columns {
    gap:14px;
    margin:30px 0;
}
.prv-company-content .wp-block-column {
    padding:23px;
    border:1px solid var(--prv-border);
    border-radius:16px;
    background:#fff;
}
.prv-company-content .wp-block-column h3:first-child {
    margin-top:0;
}
.prv-company-content .wp-block-column p:last-child {
    margin-bottom:0;
}
.prv-company-content .wp-block-quote {
    margin:35px 0;
    padding:28px 30px;
    border-left:4px solid #15B8C8;
    border-radius:0 15px 15px 0;
    background:#f6faf6;
}
.prv-company-content .wp-block-quote p {
    margin:0;
    font-size:21px;
    font-weight:700;
    line-height:1.5;
}
.prv-company-aside {
    position:sticky;
    top:105px;
    padding:22px;
    border:1px solid var(--prv-border);
    border-radius:17px;
    background:#fafafa;
}
.prv-company-aside-label {
    display:block;
    margin-bottom:8px;
    color:#2563EB;
    font-size:10px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.prv-company-aside strong {
    display:block;
    font-size:19px;
    line-height:1.25;
}
.prv-company-aside p {
    margin:9px 0 17px;
    color:#666;
    font-size:13px;
}
.prv-company-aside .prv-button {
    width:100%;
}
.prv-contact-layout {
    grid-template-columns:minmax(0,1fr) 330px;
}
.prv-contact-details {
    position:sticky;
    top:105px;
    padding:25px;
    border:1px solid var(--prv-border);
    border-radius:18px;
    background:#0B1F3A;
    color:#fff;
}
.prv-contact-details h2 {
    margin:0;
    font-size:25px;
    color:#fff;
}
.prv-contact-details p {
    color:rgba(255,255,255,.66);
    font-size:14px;
}
.prv-contact-detail {
    padding:15px 0;
    border-top:1px solid rgba(255,255,255,.11);
}
.prv-contact-detail:first-of-type {
    margin-top:17px;
}
.prv-contact-detail span {
    display:block;
    margin-bottom:5px;
    color:rgba(255,255,255,.45);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.prv-contact-detail a,
.prv-contact-detail strong {
    color:#fff;
    font-size:14px;
    text-decoration:none;
}
.prv-company-content > .prv-form-wrap:first-child {
    margin-top:0;
}
.prv-contact-layout .prv-form-wrap {
    margin-top:0;
    margin-bottom:0;
}

@media (max-width: 900px) {
    .prv-company-layout,
    .prv-contact-layout {
        grid-template-columns:1fr;
        gap:36px;
    }
    .prv-company-aside,
    .prv-contact-details {
        position:static;
    }
}
@media (max-width: 700px) {
    .prv-company-hero {
        padding:58px 0 42px;
    }
    .prv-company-layout {
        padding:48px 0 90px;
    }
    .prv-company-content .wp-block-columns {
        display:grid;
        grid-template-columns:1fr;
    }
}


/* Prevello Content & Utility Pages v1.4 */
.prv-archive-hero,
.prv-search-hero,
.prv-error-hero,
.prv-blog-hero {
    padding:78px 0 54px;
    border-bottom:1px solid var(--prv-border);
    background:
        radial-gradient(circle at 86% 18%, rgba(87,183,93,.1), transparent 26%),
        linear-gradient(180deg,#fff,#fafafa);
}
.prv-archive-hero h1,
.prv-search-hero h1,
.prv-error-hero h1,
.prv-blog-hero h1 {
    max-width:900px;
    margin:12px 0 0;
    font-size:clamp(44px,6vw,76px);
    line-height:.98;
    letter-spacing:-.055em;
}
.prv-archive-hero p,
.prv-search-hero p,
.prv-error-hero p,
.prv-blog-hero p {
    max-width:760px;
    margin:20px 0 0;
    color:#666;
    font-size:18px;
}
.prv-utility-eyebrow {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:#2563EB;
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.09em;
}
.prv-utility-eyebrow::before {
    content:"";
    width:7px;
    height:7px;
    border-radius:50%;
    background:#15B8C8;
}

.prv-service-archive {
    padding:62px 0 105px;
}
.prv-service-group {
    margin-bottom:54px;
}
.prv-service-group-head {
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:20px;
}
.prv-service-group-head h2 {
    margin:0;
    font-size:clamp(29px,4vw,42px);
    letter-spacing:-.04em;
}
.prv-service-group-head span {
    color:#8a8a8a;
    font-size:12px;
}
.prv-service-list-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}
.prv-service-list-card {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:165px;
    padding:20px;
    border:1px solid var(--prv-border);
    border-radius:16px;
    background:#fff;
    color:#111;
    text-decoration:none;
    transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.prv-service-list-card:hover {
    transform:translateY(-2px);
    border-color:#d3e8ea;
    box-shadow:0 15px 38px rgba(0,0,0,.055);
}
.prv-service-list-card strong {
    font-size:18px;
    line-height:1.25;
}
.prv-service-list-card span {
    margin-top:22px;
    color:#2563EB;
    font-size:13px;
    font-weight:800;
}

.prv-blog-page,
.prv-search-results,
.prv-error-body {
    padding:62px 0 105px;
}
.prv-post-grid,
.prv-search-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
}
.prv-post-card,
.prv-search-card {
    display:flex;
    flex-direction:column;
    min-height:240px;
    padding:23px;
    border:1px solid var(--prv-border);
    border-radius:17px;
    background:#fff;
    color:#111;
    text-decoration:none;
}
.prv-post-card:hover,
.prv-search-card:hover {
    border-color:#d3e8ea;
    box-shadow:0 18px 40px rgba(0,0,0,.055);
}
.prv-post-card-meta,
.prv-search-card-type {
    margin-bottom:20px;
    color:#7b7b7b;
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.prv-post-card h2,
.prv-search-card h2 {
    margin:0;
    font-size:22px;
    line-height:1.2;
    letter-spacing:-.03em;
}
.prv-post-card p,
.prv-search-card p {
    margin:11px 0 0;
    color:#696969;
    font-size:14px;
    line-height:1.6;
}
.prv-post-card-arrow,
.prv-search-card-arrow {
    margin-top:auto;
    padding-top:25px;
    color:#2563EB;
    font-size:13px;
    font-weight:800;
}
.prv-pagination {
    margin-top:38px;
}
.prv-pagination .page-numbers {
    display:flex;
    gap:7px;
    flex-wrap:wrap;
    margin:0;
    padding:0;
    list-style:none;
}
.prv-pagination a,
.prv-pagination span {
    display:grid;
    place-items:center;
    min-width:38px;
    height:38px;
    padding:0 10px;
    border:1px solid var(--prv-border);
    border-radius:9px;
    background:#fff;
    color:#111;
    text-decoration:none;
}
.prv-pagination .current {
    background:#111;
    border-color:#111;
    color:#fff;
}

.prv-single-post-hero {
    padding:76px 0 48px;
    border-bottom:1px solid var(--prv-border);
}
.prv-single-post-hero-inner {
    max-width:900px;
}
.prv-single-post-meta {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:17px;
    color:#757575;
    font-size:12px;
}
.prv-single-post-hero h1 {
    margin:0;
    font-size:clamp(42px,6vw,72px);
    line-height:1;
    letter-spacing:-.055em;
}
.prv-single-post-hero p {
    max-width:760px;
    margin:20px 0 0;
    color:#666;
    font-size:18px;
}
.prv-single-post-body {
    display:grid;
    grid-template-columns:minmax(0,760px) 250px;
    gap:70px;
    padding:60px 0 105px;
}
.prv-single-post-content {
    min-width:0;
}
.prv-single-post-content > :first-child {
    margin-top:0;
}
.prv-single-post-content h2 {
    margin-top:1.8em;
    font-size:clamp(28px,3.6vw,40px);
    letter-spacing:-.035em;
}
.prv-single-post-content h3 {
    margin-top:1.5em;
    font-size:24px;
}
.prv-single-post-content p,
.prv-single-post-content li {
    font-size:17px;
    line-height:1.75;
}
.prv-single-post-aside {
    position:sticky;
    top:105px;
    padding:20px;
    border:1px solid var(--prv-border);
    border-radius:16px;
    background:#fafafa;
}
.prv-single-post-aside strong {
    display:block;
    font-size:18px;
}
.prv-single-post-aside p {
    color:#666;
    font-size:13px;
}

.prv-search-form {
    display:flex;
    gap:8px;
    max-width:680px;
    margin-top:26px;
}
.prv-search-form input[type="search"] {
    flex:1;
    min-width:0;
    height:46px;
    padding:0 14px;
    border:1px solid #d7d7d7;
    border-radius:10px;
    font:inherit;
}
.prv-search-form button {
    min-width:110px;
    border:0;
    border-radius:10px;
    background:#111;
    color:#fff;
    font-weight:800;
    cursor:pointer;
}
.prv-empty-state {
    max-width:760px;
    padding:28px;
    border:1px solid var(--prv-border);
    border-radius:17px;
    background:#fafafa;
}
.prv-empty-state h2 {
    margin-top:0;
}
.prv-error-actions {
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:25px;
}

@media (max-width: 980px) {
    .prv-service-list-grid,
    .prv-post-grid,
    .prv-search-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .prv-single-post-body {
        grid-template-columns:1fr;
        gap:34px;
    }
    .prv-single-post-aside {
        position:static;
    }
}
@media (max-width: 650px) {
    .prv-service-list-grid,
    .prv-post-grid,
    .prv-search-grid {
        grid-template-columns:1fr;
    }
    .prv-search-form {
        flex-direction:column;
    }
    .prv-search-form button {
        height:46px;
    }
}



/* v2.5 brand correction for utility/public pages */
.prv-page-hero,.prv-company-hero,.prv-archive-hero,.prv-search-hero,.prv-error-hero,.prv-blog-hero{background:radial-gradient(circle at 84% 16%,rgba(21,184,200,.12),transparent 27%),radial-gradient(circle at 96% 75%,rgba(37,99,235,.06),transparent 30%),linear-gradient(180deg,#fff 0%,#F6FBFF 100%)}
.prv-page-eyebrow,.prv-utility-eyebrow{color:#2563EB}.prv-service-list-card,.prv-post-card,.prv-search-card,.prv-company-content .wp-block-column{border-color:var(--prv-border)}.prv-service-list-card:hover,.prv-post-card:hover,.prv-search-card:hover{border-color:rgba(37,99,235,.26);box-shadow:0 20px 46px rgba(11,31,58,.07)}
