/* Intrinsic sizing and component refinements. */
.ss-container, .ss-container > *, .ss-hero-wrap > *, .ss-blog-layout > *,
.as-service-card > *, .as-rocket-grid > *, .as-crm-showcase-grid > *,
.ss-leadership-grid > *, .as-partner-item > *, .rc-nap-card > * {
    min-width: 0;
}
.ss-container { max-width: 100%; }
.ss-hero-wrap { grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr); }
.ss-blog-layout { grid-template-columns: minmax(0,2.2fr) minmax(0,1fr); }
.as-crm-showcase-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
.as-rocket-grid { grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); }

/* Badges use the button palette, with a quieter, non-interactive appearance. */
.as-bracket-badge, .as-bracket-badge-light, .as-hero-eyebrow-badge {
    max-width: 100%;
    white-space: normal;
    border-radius: 12px;
    padding: .5rem .8rem;
    gap: .5rem;
    font-size: .75rem;
    line-height: 1.45;
    font-weight: 650;
    letter-spacing: .035em;
    text-align: left;
    box-shadow: none;
    backdrop-filter: none;
}
.as-bracket-badge { color: #075985; background: #f0f9ff; border-color: #bae6fd; }
.as-bracket-badge-light, .as-hero-eyebrow-badge {
    background: #101f34;
    color: #e0f2fe;
    border-color: #35546d;
}
.as-bracket-text, .as-hero-eyebrow-badge .as-bracket-text {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
}
.as-bracket-icon { flex: 0 0 auto; }
.ss-eyebrow, .as-service-tags span, .ss-cat-pill { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.ss-btn, .ss-hero-btn-primary, .ss-hero-btn-secondary { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.ss-btn > span { min-width: 0; }
.ss-hero-copy, .as-service-content, .ss-blog-sidebar { min-width: 0; }
.ss-hero-copy { overflow-wrap: anywhere; }
.as-hero-standalone-photo { max-height: 500px; width: auto; max-width: 100%; object-fit: contain; }
.ss-hero { padding-block: 2rem; }
.ss-section { padding-block: clamp(2.5rem,4vw,3.5rem); }
.ss-section-header { margin-bottom: 2rem; }
.ss-services-pillars-grid { gap: 1.25rem; }
.ss-pillar-card { padding: 1.75rem; }
.ss-pillar-card .ss-card-link { margin-top: 1.25rem; }
.rc-geo-checklist { gap: .5rem; margin-block: 1rem; }
.ss-about-panel { padding: clamp(1.25rem,3vw,2.5rem); gap: 2rem; }
.ss-about-panel > * { min-width: 0; }
.as-service-card { grid-template-columns: minmax(110px,180px) 18px 52px 18px minmax(0,1fr) auto; gap: 1rem; }
.as-service-features { margin-block: .75rem; gap: .4rem; }
.as-card-highlight .as-service-features li { color: #dbeafe; }
.as-card-highlight .as-service-features li::before { color: #7dd3fc; }
.as-card-highlight .as-service-features { border-color: #35546d; }
.as-service-icon-box { width: 52px; height: 52px; }
.as-crm-mockup-img, .as-crm-mockup-wrapper:hover .as-crm-mockup-img { transform: none; }
.as-crm-mockup-glow { inset: 0; }
.as-crm-badge-floating { max-width: calc(100% - 2rem); white-space: normal; line-height: 1.5; }
.as-crm-badge-dot { flex-shrink: 0; }
.as-rocket-banner-box { padding: clamp(1.25rem,3vw,2.5rem); }
.as-rocket-grid h2 { font-size: clamp(1.6rem,3vw,2.2rem) !important; }
.ss-blog-sidebar input, .ss-blog-sidebar select, .ss-blog-sidebar textarea,
.ss-blog-sidebar form, .ss-blog-sidebar label, .wp-block-search__inside-wrapper {
    min-width: 0;
    max-width: 100%;
}
.ss-blog-sidebar input[type="search"] { width: 100%; font: inherit; font-size: 1rem; padding: .75rem; border: 1px solid #94a3b8; border-radius: 8px; }
.ss-blog-sidebar .search-form, .wp-block-search__inside-wrapper { display: flex; flex-wrap: wrap; gap: .5rem; }
.ss-blog-sidebar .search-form label { flex: 1 1 140px; }
.ss-blog-sidebar .search-submit, .ss-blog-sidebar .wp-block-search__button {
    min-height: 44px; margin: 0; border: 0; border-radius: 8px;
    padding: .7rem 1rem; font: inherit; font-size: .9rem;
    color: #fff; background: #075985; cursor: pointer;
}
.ss-single-title, .ss-mag-card-title, .ss-toc-list, .ss-widget-title,
.ss-entry-content, .ss-sidebar-widget { overflow-wrap: anywhere; }
.ss-entry-content pre { max-width: 100%; overflow-x: auto; }
.ss-entry-content iframe { max-width: 100%; }
.ss-blog-category-pills { flex-wrap: wrap; min-width: 0; }
.ss-top-bar-inner, .ss-top-bar-left, .ss-trending-ticker, .ss-trending-items { min-width: 0; max-width: 100%; }
.ss-top-bar-left { width: 100%; }
.ss-trending-items { flex: 1 1 auto; }
.ss-trending-link { max-width: 100%; white-space: normal; overflow: visible; overflow-wrap: anywhere; }
.rc-table-responsive { max-width: 100%; }
.rc-comparison-table { min-width: 580px; }
.rc-faq-item summary:focus-visible { outline: 3px solid #1875c6; outline-offset: 4px; }
.rc-footer-toggle { display: none; }
.rc-footer-toggle[hidden], .rc-footer-panel[hidden] { display: none !important; }
.ss-footer .rc-footer-title { margin-bottom: .8rem; }
.rc-footer-grid-5 { gap: 1.75rem; }
.rc-footer-nap-bar { margin-block: 2rem; }
.rc-footer-spokes-grid { gap: 1.5rem; }
.ss-header .ss-menu a, .rc-back-top { display: inline-flex; align-items: center; min-height: 44px; }

/* Home: one clear heading system, compact rhythm and more legible content cards. */
#o-que-muda, #servicos-destaque, #como-trabalhamos, #portfolio,
#seo-para-ia, #faq { padding-block: clamp(2.75rem, 5vw, 4rem); }
#o-que-muda .ss-section-header, #servicos-destaque .ss-section-header,
#como-trabalhamos .ss-section-header, #portfolio .ss-section-header {
    max-width: 820px; margin-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
    padding-left: clamp(1rem, 2vw, 1.5rem);
    border-left: 4px solid #0284c7;
}
#o-que-muda .ss-section-header h2, #servicos-destaque .ss-section-header h2,
#como-trabalhamos .ss-section-header h2, #portfolio .ss-section-header h2 {
    margin: 0 0 .7rem; font-size: clamp(1.9rem, 3.3vw, 2.75rem);
    line-height: 1.16; letter-spacing: -.035em; font-weight: 800;
}
#o-que-muda .ss-section-header p, #servicos-destaque .ss-section-header p,
#como-trabalhamos .ss-section-header p, #portfolio .ss-section-header p {
    margin: 0; max-width: 68ch; font-size: clamp(1rem, 1.35vw, 1.12rem) !important;
    line-height: 1.65 !important;
}
#o-que-muda .ss-services-pillars-grid { gap: 1rem; align-items: stretch; }
#o-que-muda .ss-pillar-card {
    position: relative; padding: clamp(1.3rem, 2.1vw, 1.8rem);
    border-color: #cad9e8; border-top: 4px solid #0c75bb;
    box-shadow: 0 12px 26px -18px rgba(8, 43, 83, .45);
}
#o-que-muda .ss-pillar-card.ss-pillar-featured { background: #f0f8ff; border-top-color: #075985; }
#o-que-muda .ss-pillar-number {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.4rem; height: 2.4rem; margin-bottom: .8rem;
    border-radius: 10px; background: #e1f2ff; color: #075985;
    font-size: .9rem; font-weight: 800;
}
#o-que-muda .ss-pillar-card h3 { margin-bottom: .6rem; font-size: clamp(1.12rem, 1.6vw, 1.3rem); }
#o-que-muda .ss-pillar-summary, #o-que-muda .rc-geo-checklist { line-height: 1.55; }
#o-que-muda .rc-geo-checklist { margin-block: .7rem; }
#servicos-destaque .as-services-list { gap: .85rem; }
#servicos-destaque .as-service-card {
    grid-template-columns: 52px minmax(0,1fr) auto;
    border-color: #d4e0eb;
}
#servicos-destaque .as-star-deco { display: none; }
#servicos-destaque .as-service-card:nth-child(even):not(.as-card-highlight) { background: #f8fbfe; }
#servicos-destaque .as-service-card.as-card-highlight { border-color: #3975a1; }
#como-trabalhamos .ss-section-header h2 { max-width: 24ch; }
#como-trabalhamos .ss-process-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .9rem;
}
#como-trabalhamos .ss-process-card {
    display: flex; flex-direction: column; min-width: 0;
    padding: clamp(1.1rem, 1.7vw, 1.5rem); border: 1px solid #cddceb;
    border-top: 3px solid #0876b5; box-shadow: 0 9px 22px -18px #0c4a6e;
}
#como-trabalhamos .ss-process-step {
    display: inline-flex; align-items: center; justify-content: center;
    width: 2.8rem; height: 2.8rem; margin-bottom: 1rem;
    border-radius: 12px; background: #e4f4ff; color: #075985;
    font-size: 1.45rem; font-weight: 800;
}
#como-trabalhamos .ss-process-card h3 {
    margin: 0 0 .55rem; font-size: 1.08rem; line-height: 1.35; font-weight: 750;
}
#como-trabalhamos .ss-process-card p { font-size: .91rem; line-height: 1.55; font-weight: 400; }
#como-trabalhamos .rc-geo-table-wrap { margin-top: 2.25rem; }
#como-trabalhamos .rc-geo-table-wrap > div:first-child { margin-bottom: 1.25rem !important; }
#como-trabalhamos .rc-geo-table-wrap h3 { margin-top: 0 !important; }
.rc-rocket-section { padding-block: clamp(2.75rem, 5vw, 4rem); }
.rc-rocket-section .as-rocket-banner-box { margin-top: 0; }
#portfolio .ss-projects-grid { gap: 1rem; }
#portfolio .ss-project-art { height: clamp(160px, 17vw, 205px); padding: .7rem .7rem 0; }
#portfolio .ss-project-body { padding: 1.25rem; }
#portfolio .ss-project-body h3 { margin-bottom: .5rem; }
#portfolio .ss-project-body p { line-height: 1.55; margin-bottom: .6rem; }
#portfolio .ss-project-body > div:last-child { margin-top: .7rem !important; }
#portfolio .ss-project-note { font-size: .88rem; color: #50647b; }
#faq .rc-faq { border-color: #cddceb; box-shadow: 0 4px 18px -15px #0c4a6e; }
#faq .rc-faq summary { font-size: 1.03rem; }
#faq .rc-faq summary::after { content: '+'; float: right; margin-left: 1rem; color: #075985; font-size: 1.3rem; line-height: 1; }
#faq .rc-faq[open] summary::after { content: '−'; }
#faq .rc-faq:focus-within { border-color: #0876b5; }

@media (prefers-reduced-motion: no-preference) {
    #servicos-destaque .as-service-card.rc-reveal-pending {
        opacity: 0; transform: translateY(20px);
    }
    #servicos-destaque .as-service-card.rc-reveal-visible {
        opacity: 1; transform: translateY(0);
        transition: opacity .55s ease, transform .65s cubic-bezier(.2,.65,.2,1), border-color .3s ease, box-shadow .3s ease;
        transition-delay: var(--rc-reveal-delay, 0ms);
    }
    #servicos-destaque .as-service-card.rc-reveal-visible:hover { transform: translateY(-4px); transition-delay: 0ms; }
}

@media (max-width: 1100px) {
    #como-trabalhamos .ss-process-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
    #servicos-destaque .as-service-card { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 767px) {
    #o-que-muda, #servicos-destaque, #como-trabalhamos, #portfolio,
    #seo-para-ia, #faq { padding-block: 2.25rem; }
    #o-que-muda .ss-section-header, #servicos-destaque .ss-section-header,
    #como-trabalhamos .ss-section-header, #portfolio .ss-section-header {
        margin-bottom: 1.35rem; padding-left: .9rem;
    }
    #o-que-muda .ss-section-header h2, #servicos-destaque .ss-section-header h2,
    #como-trabalhamos .ss-section-header h2, #portfolio .ss-section-header h2 {
        font-size: clamp(1.72rem, 7vw, 2.15rem); line-height: 1.19;
    }
    #como-trabalhamos .ss-process-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    #como-trabalhamos .ss-process-card { padding: 1.1rem; }
    .rc-rocket-section { padding-block: 2.25rem; }
    #portfolio .ss-project-art { height: 185px; }
    #portfolio .ss-project-body { padding: 1.1rem; }
    #crm-teaser .as-crm-highlights { gap: .75rem; }
    #crm-teaser .as-crm-highlight-item { min-width: 0; }
    #crm-teaser .as-crm-highlight-item > div { min-width: 0; }
    #crm-teaser .as-crm-highlight-item strong, #crm-teaser .as-crm-highlight-item p { overflow-wrap: anywhere; }
    #como-trabalhamos .rc-table-responsive { overflow: visible; }
    #como-trabalhamos .rc-comparison-table { display: block; min-width: 0; width: 100%; }
    #como-trabalhamos .rc-comparison-table thead {
        position: absolute; width: 1px; height: 1px; overflow: hidden;
        clip: rect(0, 0, 0, 0); white-space: nowrap;
    }
    #como-trabalhamos .rc-comparison-table tbody { display: grid; gap: .8rem; }
    #como-trabalhamos .rc-comparison-table tbody tr {
        display: block; min-width: 0; overflow: hidden;
        border: 1px solid #d2deea; border-radius: 13px;
    }
    #como-trabalhamos .rc-comparison-table tbody th {
        display: block; padding: .9rem 1rem; background: #eaf4fd;
        color: #12304e; border-bottom: 1px solid #d2deea; font-size: 1rem;
    }
    #como-trabalhamos .rc-comparison-table tbody td {
        display: block; min-width: 0; padding: .8rem 1rem;
        font-size: .92rem; line-height: 1.5; overflow-wrap: anywhere;
    }
    #como-trabalhamos .rc-comparison-table tbody td::before {
        content: attr(data-label); display: block; margin-bottom: .35rem;
        font-size: .75rem; font-weight: 800; letter-spacing: .035em;
        text-transform: uppercase; color: #426078;
    }
    #como-trabalhamos .rc-comparison-table tbody .rc-td-marca::before { color: #075985; }
    #como-trabalhamos .rc-comparison-table tbody td:last-child { border-bottom: 0; }
}
@media (max-width: 480px) {
    #como-trabalhamos .ss-process-grid { grid-template-columns: minmax(0,1fr); }
    #como-trabalhamos .ss-process-card { padding: 1.15rem; }
    #como-trabalhamos .ss-process-step { margin-bottom: .7rem; }
    #como-trabalhamos .rc-geo-table-wrap { padding: .85rem; }
    .rc-rocket-section .as-rocket-grid { gap: 1rem; }
    .rc-rocket-section .as-rocket-visual { min-height: 230px; }
}

@media (max-width: 1100px) {
    .as-service-card { grid-template-columns: minmax(0,1fr); padding: 1.5rem; }
    .as-service-card > .as-star-deco { display: none; }
}
@media (max-width: 1024px) {
    .as-rocket-grid { grid-template-columns: minmax(0,1fr); }
}
@media (min-width: 768px) and (max-width: 991px) {
    .ss-hero-wrap { display: grid; grid-template-columns: minmax(0,1fr); gap: 1rem; }
    .ss-hero-copy { display: contents; }
    .ss-hero-h1 { grid-row: 1; font-size: clamp(2.2rem,4.5vw,2.55rem) !important; }
    .ss-hero-copy > .ss-lead { grid-row: 2; }
    .ss-hero-portrait-col { grid-row: 3; }
    .ss-hero-copy > .ss-hero-actions { grid-row: 4; }
    .ss-hero-copy > .ss-hero-trust-bar { grid-row: 5; }
    .ss-hero-copy > .ss-proof-tags { grid-row: 6; }
}
@media (max-width: 991px) {
    .ss-hero-wrap, .as-crm-showcase-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 980px) {
    .ss-blog-layout { grid-template-columns: minmax(0,1fr); gap: 2rem; }
}
@media (max-width: 767px) {
    .ss-topbar-left, .ss-topbar-right > .ss-topbar-item, .ss-topbar-divider { display: none; }
    .ss-topbar-inner, .ss-topbar-right { justify-content: center; width: min(100% - var(--ss-container-gutter),var(--ss-container-width)); }
    .ss-topbar-right { width: 100%; }
    .ss-topbar-whatsapp { min-height: 44px; text-align: center; }
    .ss-header-inner { position: relative; justify-content: center; }
    .ss-logo-wrapper { margin-inline: auto; }
    .ss-header-actions { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
    .ss-hero-wrap { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; }
    .ss-hero-copy { display: contents; }
    .ss-hero-h1 { grid-row: 1; font-size: clamp(2.05rem,8vw,2.55rem); line-height: 1.13; margin: .3rem 0 .85rem; }
    .ss-hero-copy > .ss-lead { grid-row: 2; font-size: 1.07rem; line-height: 1.65; margin-bottom: .5rem; }
    .ss-hero-portrait-col { grid-row: 3; min-width: 0; }
    .ss-hero-copy > .ss-hero-actions { grid-row: 4; margin: .45rem 0 .75rem; }
    .ss-hero-copy > .ss-hero-trust-bar { grid-row: 5; }
    .ss-hero-copy > .ss-proof-tags { grid-row: 6; }
    .as-hero-portrait-standalone { margin-inline: auto; }
    .as-hero-standalone-photo { max-height: 325px; }
    .ss-footer .ss-container, .ss-footer-col, .rc-footer-brand-col,
    .rc-footer-nap-bar, .rc-footer-spokes-wrap, .rc-footer-bottom { text-align: center; }
    .rc-footer-brand-col .ss-footer-logo-link { margin-inline: auto; }
    .rc-footer-brand-col .rc-footer-tagline { max-width: 34ch; margin-inline: auto; }
    .rc-footer-grid-5, .rc-footer-spokes-grid { justify-items: center; }
    .rc-footer-grid-5 > *, .rc-footer-spokes-grid > * { width: 100%; }
    .rc-footer-toggle { position: relative; justify-content: center; padding-inline: 2rem; text-align: center; }
    .rc-footer-toggle::after { position: absolute; right: .35rem; }
    .rc-footer-links a, .rc-spoke-list a { justify-content: center; text-align: center; }
    .rc-footer-links li, .rc-spoke-list li { text-align: center; }
    .rc-footer-nap-bar .rc-nap-card { flex-direction: column; align-items: center; text-align: center; }
    .rc-contact-form, .rc-footer-contact-item { justify-content: center; }
    .rc-footer-spokes-header .as-bracket-badge { justify-content: center; text-align: center; }
    .rc-footer-monumental-wrap { justify-content: center; }
    .ss-section { padding-block: 1.75rem; }
    .as-hero-standalone-photo { max-height: 325px; }
    .ss-hero-wrap { gap: 1rem; }
    .ss-about-photo-card, .ss-about-photo-img { min-height: 260px; max-height: 340px; }
    .ss-hero-h1 { font-size: clamp(2.05rem,8vw,2.55rem) !important; line-height: 1.13 !important; }
    .ss-hero-actions { flex-wrap: wrap; }
    .ss-hero-actions > a { flex: 1 1 100%; }
    .as-service-card { padding: 1.25rem; gap: .85rem; }
    .as-service-title { font-size: 1.2rem; }
    .as-service-header { align-items: flex-start; }
    .as-service-desc { font-size: .95rem; line-height: 1.6; }
    .ss-section-header { margin-bottom: 1.5rem; }
    .ss-pillar-card { padding: 1.4rem !important; }
    .ss-pillar-card .ss-card-link { margin-top: 1rem !important; }
    .as-crm-mockup-wrapper { padding-bottom: 2rem; }
    .as-crm-badge-floating { right: 1rem; bottom: 0; padding: .6rem .8rem; font-size: .8rem; }
    .as-crm-highlight-item { padding: 1rem; gap: .75rem; }
    .rc-geo-table-wrap { padding: 1rem; }
    .ss-single-container, .ss-blog-container { padding-block: 2rem; }
    .ss-single-title { font-size: clamp(1.7rem,7vw,2.4rem); }
    .ss-blog-sidebar { margin-top: 1rem; }
    .ss-hero-mag-main:not([style*="background-image"]) { min-height: 280px; }
    .ss-hero-mag-sub:not([style*="background-image"]) { min-height: 185px; }
    .rc-footer-grid-5 { gap: 1rem; }
    .rc-footer-spokes-grid { gap: .5rem; }
    .rc-footer-toggle {
        display: flex; justify-content: space-between; align-items: center; gap: 1rem;
        width: 100%; min-height: 48px; padding: .75rem 0; border: 0;
        border-bottom: 1px solid #293749; background: transparent;
        color: inherit; font: inherit; text-align: left; cursor: pointer;
    }
    .rc-footer-toggle::after { content: '+'; font-size: 1.3rem; flex-shrink: 0; }
    .rc-footer-toggle[aria-expanded="true"]::after { content: '−'; }
    .rc-footer-toggle { position: relative; justify-content: center; padding-inline: 2rem; text-align: center; }
    .rc-footer-toggle::after { position: absolute; right: .35rem; }
    .rc-footer-panel { padding-block: .5rem; }
    .rc-footer-links a, .rc-spoke-list a { display: inline-flex; align-items: center; min-height: 44px; }
    .rc-footer-links li, .rc-spoke-list { margin-bottom: 0; gap: 0; }
    .rc-nap-grid { gap: 1rem; }
    .rc-footer-nap-bar { padding: 1.25rem; }
    .rc-footer-bottom { margin-top: 2rem; }
}
@media (max-width: 400px) {
    .ss-top-bar-inner { gap: .4rem; }
    .as-bracket-badge { font-size: .72rem; }
}
@media print {
    .rc-footer-panel[hidden] { display: block !important; }
    .rc-footer-toggle { display: flex !important; }
}

/* Home hero: original editorial visual, original headline and real portrait. */
.ss-hero.rc-hero-refresh{position:relative;isolation:isolate;background:#f3f8fc;border:0;padding:clamp(3rem,5vw,5rem) 0 0;color:#0b2540;overflow:hidden}
.ss-hero.rc-hero-refresh::before{display:none}
.rc-hero-refresh .ss-hero-art{position:absolute;inset:0;z-index:0;background:url('../img/rc-art-home.webp') center/cover no-repeat}
.rc-hero-refresh .ss-container{position:relative;z-index:1;width:min(100% - var(--ss-container-gutter),1200px);max-width:1200px}
.rc-hero-refresh .ss-hero-wrap{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(1rem,3vw,3rem);padding-left:0;align-items:end}
.rc-hero-refresh .ss-hero-copy{padding-bottom:clamp(3rem,7vw,6rem);min-width:0}
.rc-hero-refresh .ss-hero-h1{color:#0b2540;font-size:clamp(2.55rem,4.15vw,4.65rem);line-height:1.08;letter-spacing:-.03em;margin:0 0 1.4rem;max-width:16ch;text-wrap:balance}
.rc-hero-refresh .ss-hero-h1-accent{color:#0878b8;background:none;-webkit-text-fill-color:currentColor}
.rc-hero-refresh .ss-hero-copy p.ss-lead{color:#344a62;font-weight:400;font-size:clamp(1.02rem,1.27vw,1.16rem);line-height:1.65;max-width:59ch;margin:0 0 1.5rem}
.rc-hero-refresh .ss-hero-actions{margin:1.5rem 0 0;gap:.75rem}
.rc-hero-refresh .ss-hero-actions .ss-btn{white-space:normal;min-height:48px;border-radius:12px;box-shadow:none;padding:.85rem 1.25rem;font-weight:700}
.rc-hero-refresh .ss-hero-btn-primary{background:#0b2540;color:#fff;border-color:#0b2540}
.rc-hero-refresh .ss-hero-btn-primary:hover,.rc-hero-refresh .ss-hero-btn-primary:focus-visible{background:#174368;color:#fff;transform:translateY(-2px)}
.rc-hero-refresh .ss-hero-btn-sec{color:#0b2540;background:#fff;border:1px solid #8ca9c0}
.rc-hero-refresh .ss-hero-btn-sec:hover,.rc-hero-refresh .ss-hero-btn-sec:focus-visible{background:#e7f3fb;color:#0b2540;border-color:#5a8fb3}
.rc-hero-refresh .ss-hero-portrait-col{align-self:end}
.rc-hero-refresh .as-hero-portrait-standalone{max-width:440px}
.rc-hero-refresh .as-portrait-ambient-glow{display:none}
.rc-hero-refresh .as-hero-standalone-photo{max-height:490px;filter:drop-shadow(0 22px 24px rgba(0,0,0,.33))}
.rc-hero-refresh .as-hero-portrait-standalone:hover .as-hero-standalone-photo{filter:drop-shadow(0 22px 24px rgba(0,0,0,.33))}
.rc-hero-refresh .as-hero-photo-caption{background:#0b2038;border-color:#345571;box-shadow:0 12px 25px rgba(0,0,0,.24);backdrop-filter:none}
@media(min-width:1600px){.rc-hero-refresh .as-hero-portrait-standalone{transform:translateX(-70px)}}
@media(max-width:991px){.rc-hero-refresh .ss-hero-wrap{grid-template-columns:minmax(0,1fr) minmax(0,.75fr)}.rc-hero-refresh .ss-hero-h1{font-size:clamp(2.3rem,4.2vw,3.3rem)}}
@media(max-width:767px){.ss-hero.rc-hero-refresh{padding:2.6rem 0 0!important}.rc-hero-refresh .ss-hero-art{background:url('../img/rc-art-home.webp') right bottom/auto 38% no-repeat}.rc-hero-refresh .ss-hero-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.rc-hero-refresh .ss-hero-copy{display:block;padding:0}.rc-hero-refresh .ss-hero-h1{font-size:clamp(2.2rem,9.3vw,3.2rem)!important;line-height:1.1!important;margin:0 0 1.1rem!important;max-width:20ch;color:#0b2540!important}.rc-hero-refresh .ss-hero-copy p.ss-lead{font-size:1.02rem!important;line-height:1.62!important;color:#344a62!important;margin:0 0 1.5rem!important}.rc-hero-refresh .ss-hero-actions{margin:0 0 1rem}.rc-hero-refresh .ss-hero-actions .ss-btn{width:100%;text-align:center;justify-content:center}.rc-hero-refresh .ss-hero-portrait-col{grid-row:auto}.rc-hero-refresh .as-hero-portrait-standalone{max-width:300px;margin:0 auto}.rc-hero-refresh .as-hero-standalone-photo{max-height:345px}.rc-hero-refresh .as-hero-photo-caption{bottom:4px;max-width:100%}}
@media(prefers-reduced-motion:reduce){.rc-hero-refresh .as-hero-standalone-photo,.rc-hero-refresh .ss-hero-actions .ss-btn{transition:none}}

/* Focused service choices and a short invitation between method and work. */
.rc-home-services{background:#f3f7fb}
.rc-home-services .ss-section-header{max-width:820px}
.rc-home-services .ss-section-header p{max-width:68ch}
.rc-home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.rc-home-service{padding:clamp(1.4rem,2.3vw,2rem);background:#fff;border:1px solid #d7e3ed;border-radius:16px;display:flex;flex-direction:column;min-width:0}
.rc-home-service h3{font-size:clamp(1.4rem,2vw,1.75rem);line-height:1.2;margin:0 0 .85rem;color:#0c2541}
.rc-home-service p{color:#344a62;line-height:1.65;margin:0 0 1.5rem}
.rc-home-service a{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:44px;color:#075b91;font-weight:700;text-decoration:underline;text-underline-offset:4px;border-top:1px solid #e0e8f0}
.rc-home-service a:hover{color:#083856}
.rc-home-service a:first-of-type{margin-top:auto}
.rc-home-service-more{margin:1.5rem 0 0;color:#344a62}
.rc-home-service-more a{font-weight:700;text-underline-offset:4px}
.rc-home-mid-cta{background:#0b2038;color:#fff;padding:clamp(2.5rem,5vw,4.5rem) 0}
.rc-home-mid-inner{display:flex;justify-content:space-between;align-items:center;gap:2rem}
.rc-home-mid-inner div{max-width:750px}
.rc-home-mid-cta h2{color:#fff;font-size:clamp(1.75rem,2.6vw,2.7rem);line-height:1.18;margin:0 0 .9rem;text-wrap:balance}
.rc-home-mid-cta p{color:#d2e5f5;line-height:1.65;margin:0}
.rc-home-mid-cta .ss-btn{flex:none;min-height:48px}
@media(max-width:900px){.rc-home-service-grid{grid-template-columns:1fr 1fr}.rc-home-mid-inner{display:block}.rc-home-mid-cta .ss-btn{margin-top:1.5rem}}
@media(max-width:680px){.rc-home-service-grid{grid-template-columns:1fr}.rc-home-service{padding:1.4rem}.rc-home-mid-cta .ss-btn{width:100%;text-align:center}}

/* The base theme has important animated button rules; this hero needs quiet, legible controls. */
.rc-hero-refresh .ss-hero-h1{font-size:clamp(2.5rem,3.45vw,3.85rem);max-width:20ch}
.rc-hero-refresh .ss-hero-btn-primary,.rc-hero-refresh .ss-hero-btn-primary:hover,.rc-hero-refresh .ss-hero-btn-primary:focus-visible{background:#0b2540!important;color:#fff!important;border:1px solid #0b2540!important;animation:none!important;box-shadow:none!important}
.rc-hero-refresh .ss-hero-btn-primary span{color:#fff!important}
.rc-hero-refresh .ss-hero-btn-primary::before{display:none!important}
.rc-hero-refresh .ss-hero-btn-sec,.rc-hero-refresh .ss-hero-btn-sec:hover,.rc-hero-refresh .ss-hero-btn-sec:focus-visible{color:#0b2540!important;background:#fff!important;border:1px solid #8ca9c0!important;box-shadow:none}
@media(max-width:767px){.rc-hero-refresh .ss-hero-h1{font-size:clamp(2.1rem,8.3vw,2.7rem)!important;max-width:22ch}}
