/* Purchasing agency presentation. Content and search remain WordPress driven. */
:root { --ink: #222a2e; --ink-soft: #5d686e; --orange: #bf491e; --orange-dark: #983715; --line: #dfe3e4; }
.masthead { padding-block: 24px 20px; }
.brand strong { font-size: 30px; letter-spacing: -1px; }
.brand small { font-size: 11px; color: #626c71; }
.header-contact { padding-bottom: 17px; }
.header-contact strong { font-size: 13px; }
.utility-bar { background: #f3f4f4; }
.utility-inner { min-height: 32px; }
.navigation-bar { background: #283237; border: 0; }
.main-nav { min-height: 49px; color: #fff; }
.nav-items { gap: 29px; }
.nav-items a { padding-block: 12px 10px; font-size: 13px; font-weight: 400; }
.nav-items a:hover, .nav-items a[aria-current=page], .nav-items .current-menu-item a { color: #fff; border-bottom-color: #e68b5d; }
.nav-quote, .nav-quote:hover { color: #fff; font-weight: 400; font-size: 13px; }
.finder-inputs { border: 1px solid #aab3b7; height: 46px; }
.finder-inputs input { font-size: 14px; }
.finder-inputs:focus-within { border-color: var(--orange); box-shadow: 0 0 0 1px var(--orange); }
.finder-submit { min-width: 94px; }
.button { border-radius: 0; }
.agency-home { font-size: 15px; line-height: 1.75; }
.agency-home h1, .agency-home h2, .agency-home h3 { color: var(--ink); }
.agency-home p { margin: 0; color: var(--ink-soft); }
.agency-home a { overflow-wrap: anywhere; }
.agency-introduction { background: #fff; }
.agency-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 68px; align-items: center; padding-block: 43px 38px; }
.agency-hero-copy { min-width: 0; padding-block: 8px; }
.agency-hero h1 { font-size: 42px; line-height: 1.17; letter-spacing: -1.1px; font-weight: 700; margin: 0 0 22px; overflow-wrap: anywhere; }
.agency-hero-description { font-size: 17px; line-height: 1.75; max-width: 510px; }
.agency-home .agency-audience { margin-top: 14px; font-size: 13px; color: #767f84; }
.agency-hero-actions { display: flex; gap: 26px; align-items: center; flex-wrap: wrap; margin-top: 27px; }
.agency-hero-actions .button { min-height: 46px; padding: 11px 22px; font-size: 14px; }
.agency-text-link { display: inline-flex; align-items: center; min-height: 40px; color: var(--orange-dark); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #d2a18c; }
.agency-text-link:hover { color: #69260f; text-decoration-color: currentColor; }
.agency-operation-photo { margin: 0; min-width: 0; }
.agency-operation-photo img { width: 100%; height: 320px; object-fit: cover; object-position: center; }
.agency-operation-photo figcaption { font-size: 12px; color: #70797e; padding-top: 8px; }
.agency-hero-no-image { grid-template-columns: 1fr; }
.agency-hero-no-image .agency-hero-description { max-width: 740px; }
.agency-scope { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-block: 1px solid var(--line); padding-block: 19px; margin-block: 0; gap: 16px 35px; }
.agency-scope > div { min-width: 0; }
.agency-scope dt { font-size: 14px; font-weight: 600; }
.agency-scope dd { margin: 3px 0 0; color: #70797e; font-size: 12px; }
.agency-services-section { padding-block: 49px 52px; }
.agency-services-layout { display: grid; grid-template-columns: minmax(0, 1fr) 295px; gap: 75px; }
.agency-section-heading h2 { margin: 0 0 10px; font-size: 28px; line-height: 1.3; font-weight: 600; letter-spacing: -.5px; }
.agency-section-heading p { font-size: 14px; line-height: 1.8; }
.agency-service-list { border-top: 1px solid #aab3b7; margin-top: 25px; }
.agency-service-row { display: grid; grid-template-columns: 215px minmax(0, 1fr); align-items: start; gap: 28px; border-bottom: 1px solid var(--line); padding-block: 21px; }
.agency-service-row h3 { margin: 0; font-size: 18px; line-height: 1.5; font-weight: 600; }
.agency-service-row p { font-size: 14px; line-height: 1.8; }
.agency-service-row .agency-text-link { min-height: 34px; font-size: 12px; margin-top: 2px; }
.agency-service-row > img { width: 90px; height: 72px; object-fit: cover; }
.agency-service-has-image { grid-template-columns: 90px 155px minmax(0,1fr); gap: 20px; }
.agency-service-all { margin-top: 14px; }
.agency-buying-brief { border-left: 1px solid var(--line); padding-left: 28px; margin-top: 5px; }
.agency-buying-brief h2 { font-size: 24px; line-height: 1.3; margin: 0 0 17px; font-weight: 600; letter-spacing: -.3px; }
.agency-buying-brief p { font-size: 14px; line-height: 1.85; }
.agency-buying-brief ul { margin: 18px 0 25px; padding-left: 19px; color: #48555c; font-size: 14px; }
.agency-buying-brief li { margin-bottom: 7px; padding-left: 3px; }
.agency-buying-brief > .button { width: 100%; min-height: 46px; font-size: 13px; text-align: center; padding: 11px 12px; }
.agency-brief-form { display: flex; justify-content: center; margin-top: 6px; font-size: 13px; }
.agency-forwarding-note { margin-top: 24px; padding-top: 21px; border-top: 1px solid var(--line); }
.agency-forwarding-note h3 { font-size: 15px; line-height: 1.6; margin: 0 0 5px; font-weight: 600; }
.agency-services-hidden { display: block; }
.agency-services-hidden .agency-buying-brief { border-left: 0; padding-left: 0; max-width: 540px; }
.agency-categories-section { padding-block: 37px; background: #f4f5f5; border-block: 1px solid #e9ebec; }
.agency-categories-layout { display: grid; grid-template-columns: 295px minmax(0,1fr); gap: 70px; align-items: center; }
.agency-categories-layout .agency-text-link { margin-top: 10px; }
.agency-category-directory { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 32px; }
.agency-category-directory a { display: flex; align-items: center; gap: 15px; min-height: 82px; padding: 11px 0; border-bottom: 1px solid #dbe0e2; font-size: 14px; font-weight: 600; }
.agency-category-directory img { width: 54px; height: 54px; object-fit: cover; flex-shrink: 0; }
.agency-category-arrow { margin-left: auto; font-weight: 400; color: #808b91; }
.agency-order-section { padding-block: 48px 57px; }
.agency-order-layout { display: grid; grid-template-columns: minmax(0,1fr) 350px; gap: 90px; }
.agency-order-guide ol { counter-reset: buying-stage; list-style: none; margin: 26px 0 12px; padding: 0; }
.agency-order-guide li { counter-increment: buying-stage; position: relative; padding: 0 0 22px 35px; }
.agency-order-guide li:before { content: counter(buying-stage) "."; position: absolute; left: 0; top: 1px; color: #808a90; font-size: 16px; }
.agency-order-guide h3 { font-size: 16px; font-weight: 600; margin: 0 0 4px; }
.agency-order-guide p { font-size: 14px; line-height: 1.8; }
.agency-buyer-help { border-top: 2px solid #303b41; padding-top: 20px; }
.agency-buyer-help h2 { margin: 0 0 14px; font-size: 22px; line-height: 1.4; font-weight: 600; }
.agency-buyer-help ul { list-style: none; padding: 0; margin: 0 0 23px; }
.agency-buyer-help li { border-bottom: 1px solid var(--line); }
.agency-buyer-help li a { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 57px; padding-block: 13px; font-size: 14px; line-height: 1.6; }
.agency-buyer-help li a span { color: #7c868c; }
.agency-buyer-help p { font-size: 13px; }
.agency-buying-brief, .agency-services-main, .agency-section-heading, .agency-order-guide, .agency-buyer-help { min-width: 0; overflow-wrap: anywhere; }
.prefooter { background: #eef1f1; padding-block: 26px; }
.prefooter strong { font-size: 20px; font-weight: 600; }
.prefooter span { font-size: 14px; margin-top: 3px; }
.site-footer { background: #fafbfb; }
.footer-columns h2 { font-size: 14px; }
.footer-company p, .footer-menu a, .footer-columns > div > a:not(.brand) { font-size: 13px; }
.footer-columns { gap: 42px; }
.inner-page .page-heading { background: #f5f6f6; border-bottom: 1px solid var(--line); }
.inner-page .page-heading h1 { font-size: 34px; letter-spacing: -.6px; }
.inner-page .article-image { max-height: 330px; object-fit: cover; }
.inner-page .service-detail { border-bottom: 1px solid var(--line); padding-bottom: 28px; }
.inner-page .sidebar-contact { background: #f5f6f6; border: 0; border-top: 2px solid #aeb8bd; }

@media (max-width:1150px) {
    .agency-hero { gap: 36px; }
    .agency-hero h1 { font-size: 37px; }
    .agency-hero-description { font-size: 16px; }
    .agency-services-layout { gap: 38px; grid-template-columns: minmax(0,1fr) 280px; }
    .agency-service-row { grid-template-columns: 170px minmax(0,1fr); gap: 20px; }
    .agency-service-has-image { grid-template-columns: 70px minmax(0,1fr); }
    .agency-service-has-image > div { grid-column: 2; }
    .agency-categories-layout { gap: 40px; grid-template-columns: 260px minmax(0,1fr); }
    .agency-order-layout { gap: 50px; grid-template-columns: minmax(0,1fr) 310px; }
}
@media (max-width:960px) {
    .masthead { padding-block: 18px 13px; }
    .main-nav { min-height: 0; padding-block: 4px 10px; }
    .nav-items { gap: 0; }
    .nav-items a { border-bottom-color: #465057; font-size: 14px; padding: 12px 10px; }
    .nav-quote { min-height: 44px; }
    .finder-inputs { height: 49px; }
    .finder-inputs input { font-size: 16px; }
    .agency-hero { padding-block: 32px 27px; gap: 28px; }
    .agency-hero h1 { font-size: 33px; }
    .agency-hero-actions { gap: 10px 20px; margin-top: 21px; }
    .agency-operation-photo img { height: 300px; }
    .agency-scope { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px 25px; }
    .agency-services-layout { grid-template-columns: minmax(0,1fr) 250px; gap: 28px; }
    .agency-service-row { grid-template-columns: 1fr; gap: 5px; }
    .agency-service-has-image { grid-template-columns: 65px minmax(0,1fr); gap: 5px 15px; }
    .agency-service-has-image img { grid-row: span 2; }
    .agency-buying-brief { padding-left: 22px; }
    .agency-section-heading h2 { font-size: 25px; }
    .agency-categories-layout { grid-template-columns: 1fr; gap: 20px; }
    .agency-order-layout { gap: 35px; grid-template-columns: minmax(0,1fr) 280px; }
}
@media (max-width:720px) {
    .agency-hero { grid-template-columns: 1fr; gap: 25px; padding-block: 30px 23px; }
    .agency-hero h1 { font-size: 34px; line-height: 1.2; margin-bottom: 16px; }
    .agency-hero-description { font-size: 16px; max-width: none; }
    .agency-operation-photo img { height: 260px; }
    .agency-services-section { padding-block: 32px 35px; }
    .agency-services-layout { grid-template-columns: 1fr; gap: 29px; }
    .agency-buying-brief { border-left: 0; border-top: 2px solid #aab3b7; padding: 23px 0 0; }
    .agency-buying-brief > .button { width: auto; padding-inline: 20px; }
    .agency-brief-form { justify-content: flex-start; }
    .agency-forwarding-note { margin-top: 13px; }
    .agency-service-row { grid-template-columns: 170px minmax(0,1fr); gap: 20px; padding-block: 18px; }
    .agency-service-has-image { grid-template-columns: 65px minmax(0,1fr); gap: 7px 15px; }
    .agency-category-directory { column-gap: 22px; }
    .agency-order-layout { grid-template-columns: 1fr; gap: 27px; }
    .agency-text-link, .agency-service-row .agency-text-link { min-height: 44px; }
    .agency-order-section { padding-block: 32px 37px; }
    .agency-categories-section { padding-block: 28px; }
    .agency-order-guide li { padding-bottom: 18px; }
    .prefooter strong { font-size: 19px; }
    .inner-page .page-heading h1 { font-size: 28px; }
}
@media (max-width:480px) {
    .brand strong { font-size: 28px; }
    .brand small { font-size: 10px; }
    .agency-hero h1 { font-size: 32px; letter-spacing: -.65px; }
    .agency-hero-description { font-size: 15px; }
    .agency-operation-photo img { height: 218px; }
    .agency-operation-photo figcaption { font-size: 11px; }
    .agency-scope { gap: 14px 15px; }
    .agency-scope dt { font-size: 13px; }
    .agency-scope dd { font-size: 12px; line-height: 1.55; }
    .agency-section-heading h2 { font-size: 25px; }
    .agency-service-row { grid-template-columns: 1fr; gap: 7px; }
    .agency-service-has-image { grid-template-columns: 60px minmax(0,1fr); gap: 7px 14px; }
    .agency-service-has-image h3, .agency-service-has-image > div { grid-column: 2; }
    .agency-service-row h3 { font-size: 18px; }
    .agency-service-row .agency-text-link { font-size: 13px; }
    .agency-service-all { margin-top: 6px; }
    .agency-category-directory { grid-template-columns: 1fr; }
    .agency-category-directory a { min-height: 69px; padding-block: 9px; }
    .agency-category-directory img { width: 48px; height: 48px; }
    .agency-buying-brief > .button { width: 100%; }
    .agency-brief-form { justify-content: center; }
    .agency-home .agency-audience { font-size: 12px; }
    .agency-hero-actions { gap: 7px 20px; }
    .agency-hero-actions .button { font-size: 13px; padding-inline: 15px; }
    .finder-submit { min-width: 76px; padding-inline: 14px; }
}
@media (max-width:360px) {
    .agency-hero h1 { font-size: 29px; }
    .agency-hero-actions { gap: 5px 13px; }
    .agency-hero-actions .agency-text-link { font-size: 13px; }
}

/* Business page actions stay within the existing document layout. */
.inner-page .b2b-heading-action { display: inline-flex; align-items: center; min-height: 44px; margin-top: 10px; color: var(--orange-dark); font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.b2b-services-page .service-detail, .b2b-process-page .service-detail { border-bottom: 0; padding-bottom: 0; }
.b2b-contact-page .contact-form-panel { background: var(--paper); }
@media (max-width: 720px) {
    .b2b-contact-page .contact-form-panel { order: -1; }
    body:has(.b2b-contact-page .quote-form :focus) .corner-consult { visibility: hidden; }
    .site-footer { padding-bottom: 60px; }
}

/* Product browsing keeps the agency header and compact, conventional catalogue. */
.catalog-page-heading { margin-bottom: 21px; padding-bottom: 18px; }
.catalog-page-heading h1 { font-size: 30px; }
.catalog-card { border-color: transparent; border-bottom-color: var(--line); }
.catalog-card-body { padding: 12px 0 16px; }
.catalog-card:hover { border-color: transparent; border-bottom-color: #98a3a8; }
.catalog-card h2 { min-height: 4.65em; }
.catalog-price-label { font-size: 11px; line-height: 1.5; }
.catalog-consult-link { background: #fff; border-color: #cbd2d5; color: var(--ink); }
.catalog-consult-link:hover { background: #f4f5f5; border-color: #919da3; }
.detail-pricing { border: 0; border-block: 1px solid var(--line); padding: 18px 0; background: #fff; }
.detail-pricing > .catalog-price { color: var(--ink); }
.detail-pricing .catalog-price-label { font-size: 12px; }
.detail-more-specs { margin-bottom: 17px; }
.detail-more-specs summary { min-height: 46px; }
.catalog-results { scroll-margin-top: 24px; }
#results-heading:focus { outline: none; }
#results-heading:focus-visible { outline: 2px solid var(--orange); outline-offset: 5px; }
@media (max-width: 960px) {
    .catalog-sidebar { border: 0; }
    .catalog-sidebar > h2 { display: none; }
    .catalog-category-toggle { display: flex; width: 100%; justify-content: space-between; align-items: center; gap: 12px; min-height: 46px; padding: 10px 13px; border: 1px solid var(--line); background: #f5f6f6; color: var(--ink); font-size: 14px; text-align: left; }
    .catalog-category-toggle span { font-size: 20px; line-height: 1; }
    .catalog-category-toggle[aria-expanded="true"] span { transform: rotate(45deg); }
    .catalog-category-links { display: none; }
    .catalog-category-links.is-open, .no-js .catalog-category-links { display: grid; padding: 8px 0 0; }
    .no-js .catalog-category-toggle { display: none; }
    .no-js .catalog-sidebar > h2 { display: block; }
    .catalog-workspace { gap: 20px; }
}
@media (max-width: 600px) {
    .catalog-page-heading h1 { font-size: 26px; }
    .catalog-page-heading p { font-size: 13px; line-height: 1.65; }
    .catalog-breadcrumb { margin-bottom: 17px; }
    .catalog-note { margin-bottom: 14px; }
    .catalog-card h2 { min-height: 4.5em; }
    .catalog-grid { gap: 22px 14px; }
}
