@media (max-width: 1240px) {
    :root { --container: 1120px; --header-height: 78px; }
    .brand img { width: auto; height: 50px; }
    .site-navigation { gap: 20px; }
    .site-navigation > ul { gap: 18px; }
    .site-navigation > ul > li > a { padding-block: 29px 27px; font-size: .82rem; }
    .site-navigation > ul > li > a::after { bottom: 20px; }
    .nav-actions > .btn-ghost { display: none; }
    .hero-layout { grid-template-columns: 1.04fr .96fr; gap: 40px; }
    .hero-copy h1 { font-size: clamp(3rem, 4.3vw, 4.5rem); }
    .hero-visual { min-height: 520px; }
    .floating-portal-card { left: -8px; bottom: 54px; }
    .hero-stamp { right: -24px; width: 140px; height: 140px; }
    .quick-access > a { padding-inline: 18px; }
    .quick-icon { width: 39px; height: 39px; }
    .principle-grid article, .resource-grid article { padding: 26px; }
    .footer-main { grid-template-columns: 1.2fr .7fr .7fr 1fr; }
}

@media (max-width: 1080px) {
    :root { --gutter: 28px; }
    .utility-inner p { display: none; }
    .utility-inner { justify-content: flex-end; }
    .mobile-menu-toggle { display: grid; width: 46px; height: 46px; place-items: center; padding: 0; color: var(--ink); background: var(--ivory); border: 1px solid var(--line); border-radius: 14px; cursor: pointer; }
    .mobile-menu-toggle .icon { width: 23px; height: 23px; }
    .site-navigation {
        position: fixed; z-index: 1003; top: 0; right: 0; bottom: 0; display: flex; width: 0;
        flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 0;
        background: var(--paper); box-shadow: -30px 0 70px rgba(31,28,29,.16); overflow-x: hidden; overflow-y: auto;
        visibility: hidden; pointer-events: none;
        transition: width .45s var(--ease), padding .45s var(--ease), visibility 0s linear .45s;
    }
    .site-navigation.is-open {
        width: min(430px, 92vw); padding: 0 25px 25px; visibility: visible; pointer-events: auto; transition-delay: 0s;
    }
    .mobile-nav-head { display: flex; min-height: 88px; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
    .mobile-nav-head img { width: auto; height: 44px; }
    .mobile-nav-head button { display: grid; width: 42px; height: 42px; place-items: center; background: var(--ivory); border-radius: 13px; cursor: pointer; }
    .mobile-nav-head .icon { width: 20px; height: 20px; }
    .site-navigation > ul { display: grid; gap: 0; margin: 22px 0; }
    .site-navigation > ul > li { border-bottom: 1px solid var(--line); }
    .site-navigation > ul > li > a { justify-content: space-between; min-height: 58px; padding: 15px 3px; font-family: var(--sans); font-size: 1.35rem; font-weight: 600; }
    .site-navigation > ul > li > a::after { display: none; }
    .nav-chevron { width: 17px; height: 17px; }
    .has-submenu.is-expanded .nav-chevron { transform: rotate(180deg); }
    .mega-menu { position: static; display: block; width: auto; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
    .mega-intro { display: none; }
    .mega-links { display: none; gap: 0; padding: 2px 0 14px 10px; }
    .has-submenu.is-expanded .mega-links { display: grid; grid-template-columns: 1fr; }
    .mega-links > a { min-height: 64px; padding: 13px 36px 13px 0; background: transparent; border: 0; border-bottom: 1px solid rgba(221,215,208,.72); border-radius: 0; box-shadow: none; transform: none; }
    .mega-links > a:last-child { border-bottom: 0; }
    .mega-links > a::before { display: none; }
    .mega-links span { font-size: .9rem; }
    .mega-links small { font-size: .75rem; }
    .nav-actions { display: grid; grid-template-columns: 1fr; margin-top: auto; }
    .nav-actions .btn-ghost { display: inline-flex; }
    .access-menu { position: static; width: 100%; }
    .access-menu-toggle { width: 100%; justify-content: center; }
    .access-menu-panel {
        position: static; width: 100%; max-height: 0; margin: 0; padding: 0; border: 0; border-radius: 14px; box-shadow: none;
        opacity: 0; visibility: hidden; pointer-events: none; overflow: hidden; transform: none;
        transition: max-height .3s var(--ease), margin .3s var(--ease), padding .3s var(--ease), opacity .2s ease, visibility .2s;
    }
    .access-menu.is-open .access-menu-panel { max-height: 300px; margin: 8px 0 2px; padding: 8px; border: 1px solid var(--line); opacity: 1; visibility: visible; pointer-events: auto; }
    .access-menu-item { min-height: 48px; }
    .mobile-nav-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 25px; padding-top: 18px; border-top: 1px solid var(--line); font-size: .7rem; }
    .mobile-nav-foot a { color: var(--red); font-weight: 600; }
    .mobile-nav-foot span { color: var(--muted); }
    .nav-overlay { position: fixed; z-index: 1002; inset: 0; display: block; background: rgba(31,28,29,.52); backdrop-filter: blur(3px); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
    .nav-overlay.is-visible { opacity: 1; visibility: visible; }

    .hero-home { min-height: auto; padding-top: 56px; }
    .hero-layout { grid-template-columns: 1fr 1fr; gap: 32px; }
    .hero-copy { padding-bottom: 40px; }
    .hero-copy h1 { font-size: clamp(3rem, 4.3vw, 4.5rem); }
    .hero-copy > p { font-size: 1rem; }
    .hero-visual { min-height: 480px; }
    .hero-photo-shell { left: 0; border-radius: 180px 24px 24px 24px; }
    .floating-portal-card { width: 275px; padding: 18px; }
    .floating-portal-card > strong { font-size: 1.22rem; }
    .hero-stamp { display: none; }
    .quick-access { grid-template-columns: repeat(2, 1fr); border-radius: 24px; }
    .quick-access > a { min-height: 105px; border-bottom: 1px solid var(--line); }
    .quick-access > a:nth-child(2) { border-right: 0; }
    .quick-access > a:nth-child(3), .quick-access > a:nth-child(4) { border-bottom: 0; }
    .home-benefits-layout { grid-template-columns: minmax(280px, .78fr) minmax(0, 1.72fr); gap: 32px; }
    .home-benefit-card { gap: 11px; padding: 15px 14px; }
    .editorial-grid { grid-template-columns: .35fr 1fr; }
    .editorial-aside { grid-column: 2; }
    .solutions-section .solution-showcase { grid-template-columns: 1fr 1fr; }
    .ecosystem-grid { grid-template-columns: 1fr; gap: clamp(44px, 6vw, 64px); }
    .ecosystem-copy { max-width: 640px; }
    .portal-ecosystem-visual { width: min(100%, 780px); min-height: clamp(470px, 64vw, 565px); margin-inline: auto; }
    .audience-tab-panel { min-height: 480px; grid-template-columns: .94fr 1.06fr; }
    .audience-visual { min-height: 480px; }
    .audience-content { padding: 42px; }
    .process-heading { gap: 42px; margin-bottom: 58px; }
    .process-timeline::before { top: 31px; }
    .process-step { grid-template-rows: 62px 43px auto minmax(84px, auto); padding-inline: 12px; }
    .process-number { width: 62px; font-size: .92rem; }
    .process-stem { height: 43px; }
    .process-step h3 { font-size: 1.08rem; }
    .process-step p { max-width: 165px; font-size: .84rem; }
    .national-layout { grid-template-columns: minmax(0, .9fr) minmax(310px, 1.1fr); gap: clamp(34px, 5vw, 50px); }
    .national-map { width: min(126%, 600px); }
    .home-proposal-layout { min-height: 400px; grid-template-columns: minmax(330px, .9fr) minmax(0, 1.1fr); gap: 32px; }
    .home-proposal-visual { min-height: 400px; }
    .home-proposal-building { width: min(100%, 680px); }
    .home-proposal-actions { gap: 18px; }
    .home-contact-channels article { gap: 12px; padding-right: 20px; padding-left: 20px; }
    .home-contact-locations { gap: 18px; }
    .home-location-card { grid-template-columns: minmax(180px, .78fr) minmax(0, 1.22fr); }
    .home-location-copy { padding-inline: 20px; }
    .confidence-grid, .story-grid, .service-digital-grid { gap: 60px; }
    .confidence-visual, .story-photo { min-height: 560px; }
    .faq-grid { grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr); gap: clamp(34px, 5vw, 54px); }
    .footer-main { grid-template-columns: 1.35fr .8fr .8fr; }
    .footer-addresses { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr 1fr; }
    .footer-addresses h2 { grid-column: 1 / -1; }

    .page-hero-grid, .proposal-hero-grid { gap: 60px; }
    .page-hero-stat { padding: 28px; }
    .principle-grid { grid-template-columns: repeat(2, 1fr); }
    .transformation-grid { grid-template-columns: .82fr 1.18fr; gap: 55px; }
    .locations-grid { grid-template-columns: .65fr 1.35fr; gap: 60px; }
    .solution-detail-row { gap: 60px; }
    .benefit-showcase, .resource-grid { grid-template-columns: repeat(3, 1fr); }
    .service-flow-grid { grid-template-columns: .65fr 1.35fr; gap: 60px; }
    .audience-page-layout { gap: 60px; }
    .audience-hero-visual { min-height: 500px; }
    .candidate-grid, .portal-invite-grid { gap: 60px; }
    .featured-article { grid-template-columns: 1fr 1fr; }
    .article-layout { grid-template-columns: 54px minmax(0, 1fr); }
    .article-summary { display: none; }
    .faq-page-grid { grid-template-columns: .62fr 1.38fr; gap: 55px; }
    .contact-layout, .proposal-layout { gap: 60px; }
    .location-cards article { grid-template-columns: .65fr 1fr; }
}

@media (max-width: 960px) {
    .testimonials-gallery { grid-template-columns: 1fr; gap: 34px; }
    .testimonial-featured { width: min(100%, 760px); margin-inline: auto; }
    .testimonials-playlist { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .testimonial-playlist-card { height: 100%; }
    .testimonial-playlist-select { grid-template-columns: 1fr; gap: 11px; align-items: start; }
    .testimonial-playlist-thumb { width: 100%; }
    .testimonial-playlist-open { margin-left: 0; }
    .testimonial-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px 0; }
    .testimonial-highlights article:nth-child(3) { border-left: 0; }
    .testimonial-highlights article:nth-child(n + 3) { padding-top: 17px; border-top: 1px solid rgba(221,215,208,.86); }
}

@media (max-width: 900px) {
    .section { padding-block: 88px; }
    .utility-inner nav a:nth-child(2) { display: none; }
    .hero-layout { grid-template-columns: 1fr; }
    .hero-copy { max-width: 780px; padding-bottom: 0; }
    .hero-copy h1 { max-width: 760px; font-size: clamp(3rem, 4.3vw, 4.5rem); }
    .hero-home::before { top: -170px; right: -200px; width: 440px; }
    .hero-home .hero-thread { bottom: -34px; height: 48%; opacity: .2; }
    .hero-visual { min-height: 500px; margin-top: 18px; }
    .hero-visual::after { right: -20%; width: 440px; }
    .hero-photo-shell { inset: 0 8%; border-radius: 220px 28px 28px 28px; }
    .floating-portal-card { left: 0; bottom: 55px; width: 320px; }
    .quick-access-wrap { margin-top: 34px; }
    .section.home-benefits { padding-block: 74px; }
    .home-benefits-layout { grid-template-columns: 1fr; gap: 35px; }
    .home-benefits-intro p { max-width: 500px; margin-bottom: 25px; }
    .home-benefits-intro .text-link { margin-top: 0; }
    .home-benefits-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-benefits-cta { margin: 22px auto 0; padding-top: 0; }
    .editorial-grid { grid-template-columns: 1fr; }
    .section-kicker { width: 220px; }
    .editorial-aside { grid-column: auto; max-width: 700px; }
    .split-heading { grid-template-columns: 1fr; gap: 28px; }
    .split-heading > p { max-width: 680px; }
    .solutions-intro { grid-template-columns: 1fr; align-items: start; gap: 24px; margin-bottom: 52px; }
    .solutions-intro h2 { font-size: clamp(2rem, 2.7vw, 3rem); }
    .solutions-intro > p { max-width: 650px; font-size: 1rem; }
    .solutions-section .solution-showcase { grid-template-columns: 1fr; max-width: 760px; gap: 28px; margin-inline: auto; }
    .solutions-section .solution-media { aspect-ratio: 4 / 3; }
    .testimonials-section { padding-block: 68px; }
    .testimonials-heading { margin-bottom: 34px; }
    .testimonials-heading h2 { font-size: clamp(2rem, 2.7vw, 3rem); }
    .testimonials-heading p { max-width: 600px; font-size: 1rem; line-height: 1.62; }
    .testimonials-gallery { gap: 28px; }
    .testimonials-playlist { grid-template-columns: 1fr; }
    .testimonial-playlist-card { height: auto; }
    .testimonial-playlist-select { grid-template-columns: 124px minmax(0, 1fr); align-items: center; }
    .testimonial-playlist-open { margin-left: 138px; }
    .testimonial-highlights { margin-top: 34px; }
    .audience-heading { max-width: 680px; margin-bottom: 36px; }
    .audience-tab-panel { min-height: 0; grid-template-columns: 1fr; }
    .audience-visual { min-height: clamp(330px, 57vw, 430px); }
    .audience-visual img { transform-origin: 18% 74%; }
    .audience-content { max-width: none; padding: clamp(32px, 6vw, 46px); }
    .national-layout { grid-template-areas: "map copy"; grid-template-columns: minmax(0, .9fr) minmax(310px, 1.1fr); gap: clamp(34px, 5vw, 50px); min-height: 0; }
    .national-map { width: min(128%, 540px); align-self: center; }
    .home-proposal-layout { min-height: 380px; grid-template-columns: minmax(280px, .88fr) minmax(0, 1.12fr); gap: 28px; }
    .home-proposal-content h2 { font-size: clamp(2rem, 4.3vw, 2.7rem); }
    .home-proposal-content > p { font-size: .96rem; line-height: 1.62; }
    .home-proposal-visual { min-height: 380px; }
    .home-proposal-building { width: min(100%, 570px); }
    .home-contact-channels article { padding-block: 12px; }
    .home-contact-locations { grid-template-columns: 1fr; max-width: 760px; margin-inline: auto; }
    .home-location-card { grid-template-columns: minmax(245px, .86fr) minmax(0, 1.14fr); }
    .confidence-grid, .story-grid, .service-digital-grid, .solution-detail-row, .audience-page-layout, .article-header-grid, .contact-layout { grid-template-columns: 1fr; }
    .confidence-visual, .story-photo { min-height: 610px; }
    .confidence-copy { max-width: 760px; }
    .content-heading { margin-bottom: 40px; }
    .article-grid { grid-template-columns: repeat(2, 1fr); }
    .faq-grid { grid-template-columns: 1fr; gap: 40px; }
    .faq-intro { position: static; max-width: 680px; }
    .footer-main { grid-template-columns: 1fr 1fr 1fr; }
    .footer-brand-block { grid-column: 1 / -1; }
    .footer-addresses { grid-template-columns: 1fr 1fr; }
    .footer-addresses h2 { grid-column: 1 / -1; }
    .cookie-banner { grid-template-columns: 1fr; }

    .page-hero-grid, .proposal-hero-grid { grid-template-columns: 1fr; }
    .page-hero-stat, .solutions-hero-index, .contact-hours { max-width: 420px; }
    .story-photo { order: 2; }
    .transformation-grid, .locations-grid, .service-flow-grid, .candidate-grid, .portal-invite-grid, .newsletter-grid, .faq-page-grid, .proposal-layout { grid-template-columns: 1fr; }
    .transformation-map { min-height: 520px; }
    .location-list { max-width: 760px; }
    .subpage-cta .container { align-items: start; flex-direction: column; }
    .solution-detail-row.is-reverse .solution-detail-media { order: 0; }
    .solution-detail-copy { max-width: 740px; }
    .service-hero-layout { grid-template-columns: 1fr; }
    .service-hero-copy { max-width: 760px; }
    .service-hero-media { width: min(100%, 760px); }
    .service-flow-copy, .proposal-aside, .faq-page-grid > aside { position: static; }
    .service-flow-copy { max-width: 700px; }
    .audience-page-layout > div:first-child { max-width: 760px; }
    .audience-hero-visual { min-height: 570px; }
    .portal-invite-cards { max-width: 680px; }
    .featured-article { grid-template-columns: 1fr; }
    .featured-image { min-height: 390px; }
    .newsletter-form { grid-template-columns: 1fr 1fr; }
    .newsletter-form button { grid-column: 1 / -1; justify-self: start; }
    .article-header-image { max-width: 760px; }
    .article-layout { grid-template-columns: 1fr; }
    .article-share { position: static; flex-direction: row; align-items: center; }
    .article-share > span { margin: 0 7px 0 0; writing-mode: initial; transform: none; }
    .article-content { max-width: 760px; }
    .support-grid { grid-template-columns: repeat(2, 1fr); }
    .contact-channels { max-width: 700px; }
    .location-cards { grid-template-columns: 1fr; }
    .proposal-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
    .proposal-aside > span { grid-column: 1 / -1; }
    .proposal-aside ol { margin: 0; }
    .proposal-contact-box { align-self: end; }
    .legal-layout { grid-template-columns: 1fr; }
    .legal-layout > aside { position: static; display: grid; grid-template-columns: repeat(2, 1fr); padding: 20px; background: var(--ivory); border-radius: 15px; }
    .legal-layout > aside > strong { grid-column: 1 / -1; }
    .legal-contact { grid-column: 1 / -1; }
    .home-main { --home-section-space: 80px; }
    .home-main > .section, .home-main > .closing-cta { padding-block: var(--home-section-space); }
    .home-main > .national-section, .home-main > .home-proposal-section { padding-block: 64px; }
}

@media (max-width: 820px) {
    .process-timeline {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: minmax(210px, 68vw);
        margin-inline: calc(var(--gutter) * -1);
        padding: 8px var(--gutter) 22px;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-padding-inline: var(--gutter);
        scroll-snap-type: x mandatory;
        scrollbar-width: thin;
    }
    .process-timeline::before { display: none; }
    .process-step { scroll-snap-align: start; }
}

@media (max-width: 720px) {
    .home-contact-heading { margin-bottom: 32px; }
    .home-contact-heading .eyebrow { margin-bottom: 13px; }
    .home-contact-channels { grid-template-columns: 1fr; border-top: 1px solid rgba(221,215,208,.84); }
    .home-contact-channels article, .home-contact-channels article:first-child { min-height: 0; padding: 16px 0; }
    .home-contact-channels article + article { border-top: 1px solid rgba(221,215,208,.84); border-left: 0; }
    .home-contact-locations { gap: 17px; margin-top: 28px; }
    .home-location-card { grid-template-columns: 1fr; min-height: 0; }
    .home-location-image { min-height: 0; aspect-ratio: 16 / 9; }
    .home-location-copy { padding: 21px 20px 23px; }
    .home-location-copy address { font-size: .86rem; }
    .national-layout { grid-template-areas: "copy" "map"; grid-template-columns: 1fr; gap: 30px; }
    .national-copy { max-width: 500px; }
    .national-copy .eyebrow { margin-bottom: 14px; }
    .national-copy h2 { margin-bottom: 17px; line-height: 1.06; }
    .national-copy > p { font-size: .95rem; line-height: 1.62; }
    .national-map { width: min(122%, 580px); margin-inline: 0; justify-self: center; }
}

@media (max-width: 767px) {
    .home-proposal-layout { min-height: 0; grid-template-columns: 1fr; gap: 26px; }
    .home-proposal-content { max-width: 580px; }
    .home-proposal-content .eyebrow { margin-bottom: 14px; }
    .home-proposal-content h2 { max-width: 560px; font-size: clamp(2rem, 8.6vw, 2.55rem); line-height: 1.06; }
    .home-proposal-content > p { max-width: 540px; margin-bottom: 24px; font-size: .95rem; line-height: 1.62; }
    .home-proposal-actions { align-items: stretch; flex-direction: column; gap: 14px; }
    .home-proposal-button.btn { width: 100%; min-height: 60px; }
    .home-proposal-phone { align-self: flex-start; min-height: 32px; padding-left: 0; white-space: normal; }
    .home-proposal-phone::before { display: none; }
    .home-proposal-visual { width: min(100%, 620px); min-height: clamp(320px, 72vw, 390px); justify-self: center; }
    .home-proposal-building { width: min(620px, 112vw); margin: 0 -7% 0 -3%; transform: none; transition: none; }
    .home-proposal-layer--front, .home-proposal-dot-matrix { display: none; }
    .home-proposal-layer--back { top: 16%; right: 1%; width: 90%; height: 60%; }
    .home-proposal-orbit { top: -2%; right: -13%; width: 100%; }
}

@media (max-width: 680px) {
    :root { --gutter: 20px; --header-height: 70px; }
    body { font-size: 15px; }
    .section { padding-block: 72px; }
    .utility-bar { display: none; }
    .header-inner { min-height: 70px; }
    .brand img { width: auto; height: 44px; }
    .mobile-menu-toggle { width: 42px; height: 42px; }
    .site-navigation { padding-inline: 20px; }
    .mobile-nav-head { min-height: 76px; }
    .nav-actions { grid-template-columns: 1fr; }
    .hero-home { padding-top: 44px; }
    .hero-grid-bg, .page-grid-bg, .proposal-grid-bg, .service-hero-grid, .audience-page-grid { background-size: 56px 56px; }
    .hero-home .hero-grid-bg { opacity: .18; }
    .hero-home .hero-thread { bottom: -36px; height: 35%; opacity: .16; }
    .hero-copy .eyebrow { margin-bottom: 16px; }
    .hero-copy h1 { margin-bottom: 20px; font-size: clamp(2.25rem, 10vw, 3rem); line-height: 1.02; }
    .hero-copy > p { line-height: 1.55; }
    .hero-actions { align-items: stretch; flex-direction: column; gap: 10px; }
    .hero-actions .btn { width: 100%; }
    .hero-actions .btn-text { width: auto; align-self: flex-start; }
    .hero-proof { margin-top: 26px; padding-top: 16px; }
    .hero-visual { min-height: 460px; margin-top: 10px; }
    .hero-visual::before { inset: -4% -22% 6%; opacity: .65; }
    .hero-visual::after { display: none; }
    .hero-photo-shell { inset: 0; border-radius: 165px 22px 22px 22px; }
    .floating-portal-card { left: 12px; bottom: 19px; width: calc(100% - 24px); }
    .photo-index { display: none; }
    .quick-access-wrap { margin-top: 20px; }
    .quick-access { grid-template-columns: 1fr 1fr; border-radius: 19px; }
    .quick-access > a { min-height: 115px; grid-template-columns: 1fr auto; align-content: center; padding: 26px 14px 16px; }
    .quick-icon { width: 38px; height: 38px; }
    .quick-access strong { grid-column: 1 / -1; margin-top: 3px; font-size: .74rem; }
    .quick-number { top: 9px; left: 11px; }
    .section.home-benefits { padding-block: 62px; }
    .home-benefits-layout { gap: 30px; }
    .home-benefits-grid { grid-template-columns: 1fr; gap: 11px; }
    .home-benefit-card { grid-template-columns: 40px minmax(0, 1fr); min-height: 96px; gap: 11px; padding: 15px; border-radius: 17px; }
    .home-benefit-icon { width: 38px; height: 38px; }
    .home-benefit-icon .icon { width: 19px; height: 19px; }
    .section-kicker { width: 190px; }
    .editorial-copy h2, .section-heading h2 { font-size: clamp(2.55rem, 11vw, 4rem); }
    .solutions-section { padding-block: 64px; }
    .solutions-intro { gap: 21px; margin-bottom: 44px; }
    .solutions-intro .eyebrow { margin-bottom: 16px; }
    .solutions-intro h2 { font-size: clamp(2rem, 2.7vw, 3rem); }
    .solutions-intro > p { font-size: .96rem; line-height: 1.65; }
    .solutions-section .solution-panel { border-radius: 22px; }
    .solutions-section .solution-media { aspect-ratio: 4 / 3; }
    .solutions-section .solution-body { padding: 26px 22px; }
    .solutions-section .solution-body h3 { font-size: clamp(1.75rem, 8vw, 2.2rem); }
    .solutions-section .solution-body p { font-size: .94rem; line-height: 1.62; }
    .solutions-section .solution-cta { padding-top: 28px; }
    .solutions-section .solutions-thread { opacity: .62; }
    .ecosystem-section { padding-block: 72px; }
    .ecosystem-grid { gap: 40px; }
    .ecosystem-copy h2 { max-width: 380px; font-size: clamp(2rem, 8.6vw, 2.6rem); }
    .ecosystem-copy > p { margin-bottom: 24px; font-size: .96rem; }
    .ecosystem-copy .feature-list { gap: 12px; margin-bottom: 26px; }
    .ecosystem-copy .feature-list li { font-size: .87rem; }
    .ecosystem-cta { min-height: 50px; padding-inline: 20px; font-size: .87rem; }
    .portal-ecosystem-visual { min-height: clamp(320px, 94vw, 430px); }
    .portal-dashboard { top: 9%; left: -3%; width: 106%; }
    .portal-float--boleto { top: -14%; right: -7%; width: 39%; }
    .portal-float--documentos { bottom: -11%; left: -9%; width: 36%; }
    .portal-float--solicitacao { right: -8%; bottom: -10%; width: 36%; }
    .portal-connection { inset: 2% -8% 1%; width: 116%; }
    .testimonials-section { padding-block: 64px; }
    .testimonials-heading { margin-bottom: 28px; }
    .testimonials-label { gap: 10px; margin-bottom: 12px; }
    .testimonials-heading h2 { font-size: clamp(2rem, 2.7vw, 3rem); }
    .testimonials-heading p { font-size: .96rem; line-height: 1.62; }
    .testimonial-featured { padding-bottom: 0; overflow: hidden; background: var(--white); border: 1px solid rgba(221,215,208,.82); border-radius: 20px; box-shadow: 0 16px 36px rgba(44,30,31,.08); }
    .testimonial-featured-media { border: 0; border-radius: 0; box-shadow: none; }
    .testimonial-featured-badge { top: 12px; left: 12px; min-height: 27px; padding: 6px 10px; font-size: .61rem; }
    .testimonial-play-button--featured { width: 54px; height: 54px; }
    .testimonial-featured-summary { width: auto; margin: 0; padding: 22px 18px 23px; border: 0; border-top: 1px solid rgba(221,215,208,.72); border-radius: 0; box-shadow: none; }
    .testimonial-featured-summary p { margin-bottom: 14px; font-size: .94rem; }
    .testimonial-playlist-select { grid-template-columns: 112px minmax(0, 1fr); gap: 12px; }
    .testimonial-playlist-open { margin: 9px 0 0 124px; }
    .testimonial-highlights { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 32px; padding: 12px; border-radius: 18px; }
    .testimonial-highlights article { grid-template-columns: 38px minmax(0, 1fr); gap: 9px; padding: 10px; }
    .testimonial-highlights article > span { width: 36px; height: 36px; }
    .testimonial-highlights .icon { width: 18px; height: 18px; }
    .testimonial-highlights strong { font-size: .92rem; }
    .testimonial-highlights small { font-size: .7rem; }
    .testimonials-cta { margin-top: 22px; }
    .testimonials-cta .btn { width: 100%; }
    .testimonial-modal { padding: 14px; }
    .testimonial-modal-dialog { max-height: calc(100vh - 28px); max-height: calc(100dvh - 28px); padding: 22px 16px 16px; border-radius: 19px; }
    .testimonial-modal-dialog h2 { margin-right: 46px; font-size: 1.35rem; }
    .testimonial-modal-close { top: 12px; right: 12px; width: 44px; height: 44px; }
    .testimonial-modal-frame { border-radius: 11px; }
    .audience-heading { margin-bottom: 28px; }
    .audience-heading .eyebrow { margin-bottom: 12px; }
    .audience-heading h2 { font-size: clamp(2rem, 8.6vw, 2.55rem); }
    .audience-tabs { border-radius: 20px; }
    .audience-tab-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .audience-tab-list button { min-height: 58px; padding: 13px 8px; border-bottom: 1px solid #ECE6E6; font-size: .84rem; }
    .audience-tab-list button:nth-child(2) { border-right: 0; }
    .audience-tab-list button:nth-child(3), .audience-tab-list button:nth-child(4) { border-bottom: 0; }
    .audience-tab-list button::after { right: 16px; left: 16px; }
    .audience-visual { min-height: 285px; }
    .audience-visual img { transform: scale(2.3); transform-origin: 12% 69%; }
    .audience-content { padding: 29px 22px 31px; }
    .audience-panel-label { margin-bottom: 13px; font-size: .7rem; }
    .audience-content h3 { margin-bottom: 15px; font-size: clamp(1.7rem, 8vw, 2.2rem); }
    .audience-content > p { margin-bottom: 21px; font-size: .94rem; line-height: 1.62; }
    .audience-content ul { gap: 10px; margin-bottom: 22px; }
    .audience-content li { font-size: .89rem; }
    .audience-cta { min-height: 44px; font-size: .91rem; }
    .process-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 40px; }
    .process-heading .eyebrow { margin-bottom: 14px; }
    .process-heading h2 { line-height: 1.06; }
    .process-heading > p { max-width: 540px; padding-left: 0; border-left: 0; font-size: .95rem; line-height: 1.65; }
    .process-timeline { display: grid; grid-template-columns: 1fr; grid-auto-flow: row; grid-auto-columns: auto; gap: 0; margin: 0; padding: 0; overflow: visible; scroll-padding-inline: 0; scroll-snap-type: none; }
    .process-timeline::before { display: block; top: 27px; right: auto; bottom: 27px; left: 26px; width: 1px; height: auto; background: linear-gradient(180deg, rgba(239,35,52,.1), rgba(239,35,52,.28), rgba(239,35,52,.08)); }
    .js .process-timeline::before { transform: scaleY(0); transform-origin: top center; }
    .js .process-timeline.is-visible::before { transform: scaleY(1); }
    .process-step { display: grid; grid-template-columns: 54px minmax(0, 1fr); grid-template-rows: auto auto; justify-items: start; column-gap: 17px; padding: 0 0 28px; text-align: left; scroll-snap-align: none; }
    .process-step:last-child { padding-bottom: 0; }
    .process-number { width: 54px; grid-row: 1 / span 2; grid-column: 1; align-self: start; margin: 0; font-size: .86rem; }
    .process-stem { display: none; }
    .process-step h3 { grid-column: 2; grid-row: 1; align-self: center; margin: 3px 0 0; font-size: 1.14rem; }
    .process-step p { grid-column: 2; grid-row: 2; max-width: 490px; min-height: 0; margin: 7px 0 0; font-size: .9rem; line-height: 1.58; }
    .confidence-visual, .story-photo { min-height: 430px; }
    .confidence-visual picture { border-radius: 20px 130px 20px 20px; }
    .confidence-caption, .story-photo > span { right: 12px; bottom: 12px; width: calc(100% - 24px); }
    .content-heading { margin-bottom: 36px; }
    .article-grid { grid-template-columns: 1fr; }
    .article-body h3 { font-size: 1.9rem; }
    .content-cta .btn { width: 100%; }
    .faq-intro .eyebrow { margin-bottom: 12px; }
    .faq-intro h2 { margin-bottom: 16px; font-size: clamp(2rem, 8.6vw, 2.55rem); }
    .faq-intro p { margin-bottom: 22px; font-size: .96rem; }
    .accordion-item button > span { gap: 12px; }
    .accordion-panel { padding-left: 36px; }
    .home-proposal-section::after { right: -48%; bottom: -25%; width: 130vw; }
    .home-proposal-grid { background-size: 56px 56px; opacity: .07; }
    .home-proposal-visual { min-height: clamp(300px, 78vw, 360px); }
    .home-proposal-building { width: min(620px, 116vw); }
    .footer-main { grid-template-columns: 1fr 1fr; }
    .footer-brand-block { grid-column: 1 / -1; }
    .footer-addresses { grid-column: 1 / -1; grid-template-columns: 1fr; }
    .footer-bottom { align-items: flex-start; flex-direction: column; }
    .cookie-banner { right: 12px; bottom: 12px; width: calc(100% - 24px); padding: 17px; }
    .cookie-actions { flex-direction: column; }
    .cookie-actions .btn { width: 100%; }

    .page-hero, .service-hero, .audience-page-hero, .proposal-hero { padding-block: 75px; }
    .page-hero h1, .service-hero-copy h1, .audience-page-layout h1, .proposal-hero h1 { font-size: clamp(3.25rem, 14vw, 5rem); }
    .page-hero-stat, .solutions-hero-index, .contact-hours { max-width: none; }
    .page-hero-stat > span { font-size: 5rem; }
    .principle-grid, .benefit-showcase, .resource-grid { grid-template-columns: 1fr; }
    .principle-grid article, .benefit-showcase article, .resource-grid article { min-height: 255px; }
    .transformation-map { min-height: 430px; }
    .map-center { width: 150px; height: 150px; }
    .map-node { font-size: .56rem; }
    .node-one { top: 40px; left: 0; }.node-two { top: 35px; right: 0; }.node-three { right: 0; bottom: 120px; }.node-four { left: 0; bottom: 80px; }.node-five { left: 38%; bottom: 0; }
    .subpage-cta h2 { font-size: 3rem; }
    .subpage-cta .btn { width: 100%; }
    .solution-detail-row { padding-block: 55px; }
    .comparison-table { overflow-x: auto; }
    .comparison-head, .comparison-row { min-width: 720px; }
    .service-hero-media > img, .service-collection .service-hero-media > img { border-radius: 25px 110px 25px 25px; }
    .service-media-label { right: 12px; bottom: 12px; min-width: 0; width: calc(100% - 24px); }
    .service-actions { align-items: stretch; flex-direction: column; }
    .service-actions .btn { width: 100%; }
    .service-actions .btn-text { width: auto; align-self: flex-start; }
    .vertical-timeline article { gap: 15px; }
    .digital-body { grid-template-columns: 58px 1fr; }
    .digital-body aside { padding-inline: 8px; }
    .digital-body main { padding: 25px 15px; }
    .digital-metrics { grid-template-columns: 1fr; }
    .digital-graph { gap: 7px; }
    .audience-hero-visual { min-height: 440px; border-radius: 50% 50% 22px 22px; }
    .ring-two { width: 380px; height: 380px; }
    .candidate-list > span { font-size: .76rem; }
    .portal-invite-cards { min-height: 560px; }
    .portal-invite-cards article { width: min(250px, 78%); }
    .portal-invite-cards article:nth-child(1) { left: 0; }
    .portal-invite-cards article:nth-child(2) { right: 0; top: 185px; }
    .portal-invite-cards article:nth-child(3) { left: 5%; bottom: 0; }
    .content-search, .faq-search { padding: 20px; }
    .featured-image { min-height: 280px; }
    .featured-article > div { padding: 28px 23px; }
    .content-filters { align-items: flex-start; flex-direction: column; }
    .newsletter-form { grid-template-columns: 1fr; }
    .newsletter-form button { grid-column: auto; width: 100%; }
    .article-header-image { border-radius: 24px 90px 24px 24px; }
    .article-content { font-size: 1.07rem; }
    .article-content .article-lead { font-size: 1.22rem; }
    .article-content blockquote { padding-left: 20px; font-size: 1.35rem; }
    .faq-page-grid > aside { padding: 24px; }
    .support-grid { grid-template-columns: 1fr; }
    .form-grid.two-columns { grid-template-columns: 1fr; }
    .contact-form-card, .proposal-form-card { padding: 26px 20px; border-radius: 20px; }
    .location-cards article { grid-template-columns: 1fr; }
    .location-map { min-height: 190px; }
    .proposal-promises { display: grid; }
    .proposal-aside { grid-template-columns: 1fr; }
    .proposal-aside > span { grid-column: auto; }
    .form-progress { display: flex; justify-content: space-between; gap: 4px; }
    .form-progress > span { flex-direction: column; gap: 4px; font-size: .54rem; }
    .form-progress > b { flex: 1; }
    .option-grid { grid-template-columns: 1fr; }
    .option-grid label > span { min-height: 135px; }
    .form-navigation { align-items: stretch; flex-direction: column-reverse; }
    .form-navigation .btn { width: 100%; }
    .protocol-box { grid-template-columns: 1fr auto; text-align: left; }
    .protocol-box span { grid-column: 1 / -1; }
    .legal-layout > aside { grid-template-columns: 1fr; }
    .legal-layout > aside > strong, .legal-contact { grid-column: auto; }
    .legal-lead { font-size: 1.2rem; }
    .error-content h1 { font-size: 3.6rem; }
    .error-content > div { flex-direction: column; }
    .error-content .btn { width: 100%; }
    .home-main { --home-section-space: 64px; }
    .home-main > .section, .home-main > .closing-cta { padding-block: var(--home-section-space); }
    .home-main > .national-section, .home-main > .home-proposal-section { padding-block: 52px; }
}

@media (max-width: 390px) {
    :root { --gutter: 17px; }
    .brand img { width: auto; height: 40px; }
    .hero-copy h1 { font-size: clamp(2.25rem, 10vw, 3rem); }
    .hero-visual { min-height: 440px; }
    .floating-portal-card { padding: 16px; }
    .floating-portal-card > strong { font-size: 1.14rem; }
    .quick-access > a { padding-inline: 11px; }
    .quick-access strong { font-size: .7rem; }
    .testimonial-highlights { grid-template-columns: 1fr; }
    .testimonial-highlights article, .testimonial-highlights article:nth-child(3) { border-left: 0; }
    .testimonial-highlights article + article { border-top: 1px solid rgba(221,215,208,.86); }
    .section-heading h2, .editorial-copy h2 { font-size: 2.65rem; }
    .confidence-copy h2 { font-size: 2.65rem; }
    .footer-main { grid-template-columns: 1fr; }
    .footer-column, .footer-addresses { grid-column: auto; }
    .page-hero h1, .service-hero-copy h1, .audience-page-layout h1, .proposal-hero h1 { font-size: 3.3rem; }
    .transformation-map { min-height: 390px; }
    .map-node span { display: none; }
    .map-node { padding: 9px; }
    .portal-invite-cards article { width: 230px; }
    .contact-channels h2 { font-size: 1.25rem; }
}

/* Quem Somos */
@media (max-width: 1080px) {
    .about-hero-layout { grid-template-columns: minmax(0,.9fr) minmax(400px,1.1fr); gap: 44px; }
    .about-hero-facts > div { padding-right: 12px; }
    .about-hero-facts > div + div { padding-left: 12px; }
    .about-history-layout, .about-technology-layout { gap: 58px; }
    .about-purpose-grid article { min-height: 350px; padding: 28px; }
    .about-technology-media { min-height: 500px; }
    .about-location-grid article { grid-template-columns: 190px minmax(0,1fr); }
}

@media (max-width: 900px) {
    .about-main { --about-section-space: 80px; }
    .about-hero-layout, .about-history-layout, .about-technology-layout { grid-template-columns: 1fr; }
    .about-hero-copy { max-width: 720px; }
    .about-hero-visual { width: min(100%,720px); min-height: 520px; margin-inline: auto; }
    .about-history-media { width: min(100%,620px); max-width: none; margin-inline: auto; }
    .about-history-media img { aspect-ratio: 1.28; }
    .about-history-media > span { right: 18px; }
    .about-pillar-grid, .about-purpose-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .about-pillar-grid article:last-child, .about-purpose-grid article:last-child { grid-column: 1 / -1; }
    .about-pillar-grid article { min-height: 290px; padding: 25px; }
    .about-pillar-grid small { top: 28px; right: 28px; }
    .about-purpose-grid article { min-height: 330px; padding: 25px; }
    .about-purpose-grid article:last-child { min-height: 280px; }
    .about-technology-media { width: min(100%,620px); min-height: 540px; margin-inline: auto; }
    .about-structure-intro { grid-template-columns: 1fr; gap: 20px; }
    .about-structure-intro > p { max-width: 650px; }
    .about-gallery { grid-auto-rows: 150px; }
    .about-location-grid { grid-template-columns: 1fr; }
    .about-location-grid article { grid-template-columns: minmax(220px,.8fr) minmax(0,1.2fr); }
    .about-cta > .container { align-items: flex-start; flex-direction: column; }
    .about-cta-actions { align-items: flex-start; }
}

@media (max-width: 680px) {
    .about-main { --about-section-space: 64px; }
    .about-main h1,
    .about-main h2 { font-size: clamp(2rem,8.6vw,2.55rem); line-height: 1.06; }
    .about-heading { margin-bottom: 32px; }
    .about-heading > p, .about-section-copy > p, .about-structure-intro > p { font-size: .95rem; }
    .about-hero-copy > p { font-size: .98rem; }
    .about-hero-facts { grid-template-columns: 1fr; margin-top: 28px; padding-top: 0; border-top: 0; }
    .about-hero-facts > div { padding: 15px 0; border-top: 1px solid rgba(39,31,32,.1); }
    .about-hero-facts > div + div { padding-left: 0; border-left: 0; }
    .about-hero-visual { min-height: 410px; }
    .about-hero-photo { border-width: 4px; }
    .about-hero-photo-main { width: 94%; height: 62%; border-radius: 18px 46px 18px 18px; }
    .about-hero-photo-secondary { width: 59%; height: 34%; }
    .about-hero-year { right: 0; bottom: 2%; width: 48%; padding: 16px; }
    .about-hero-year strong { font-size: 1.5rem; }
    .about-history-media::before { inset: 18px -10px -12px 18px; }
    .about-history-media img { aspect-ratio: 1.08; border-radius: 20px; }
    .about-history-media > span { right: 10px; bottom: 12px; max-width: calc(100% - 20px); }
    .about-history-milestones { gap: 10px; }
    .about-history-milestones strong { font-size: 1rem; }
    .about-history-milestones span { font-size: .64rem; }
    .about-pillar-grid, .about-purpose-grid { grid-template-columns: 1fr; }
    .about-pillar-grid article:last-child, .about-purpose-grid article:last-child { grid-column: auto; }
    .about-pillar-grid article, .about-purpose-grid article { min-height: 0; }
    .about-purpose-grid small { margin-top: 28px; }
    .about-technology-media { min-height: 410px; }
    .about-technology-media figure { border-width: 4px; }
    .about-technology-primary { width: 75%; border-radius: 22px 22px 72px 22px; }
    .about-technology-secondary { width: 55%; }
    .about-capabilities { grid-template-columns: 1fr; }
    .about-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: 130px; gap: 10px; }
    .about-gallery figure:first-child { grid-column: span 2; grid-row: span 2; }
    .about-gallery figure { border-radius: 14px; }
    .about-location-grid article { grid-template-columns: 1fr; }
    .about-location-grid article > img { aspect-ratio: 16/9; }
    .about-location-grid article > div { padding: 24px; }
    .about-contact-link { width: 100%; justify-content: center; text-align: center; }
    .about-cta-actions, .about-cta-actions .btn { width: 100%; }
    .about-cta-actions > a:last-child { align-self: center; }
}

@media (max-width: 390px) {
    .about-hero-visual { min-height: 360px; }
    .about-hero-photo-main { height: 60%; }
    .about-hero-photo-secondary { width: 62%; height: 32%; }
    .about-hero-year { width: 52%; padding: 13px; }
    .about-hero-year span { font-size: .63rem; }
    .about-history-milestones { grid-template-columns: 1fr; }
    .about-history-milestones div { padding-bottom: 10px; border-bottom: 1px solid var(--line); }
}


/* Serviços */
@media (max-width: 1080px) {
    .services-hero-layout,
    .service-detail-hero-layout { grid-template-columns:minmax(0,.9fr) minmax(400px,1.1fr); gap:44px; }
    .solution-chapter-intro { grid-template-columns:repeat(2,minmax(0,1fr)); gap:44px; }
    .services-system { min-height:500px; }
    .services-system-card { width:min(72%,370px); }
    .services-system-card--current { top:38px; left:24px; }
    .services-system-card--past { right:24px; bottom:76px; }
    .services-benefit-grid,
    .service-structure-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .services-process-list,
    .service-detail-steps { grid-template-columns:repeat(6,minmax(0,1fr)); }
    .services-process-list li,
    .service-detail-steps li { grid-column:span 2; }
    .services-process-list li:nth-child(4),
    .service-detail-steps li:nth-child(4) { grid-column:2/span 2; }
    .services-process-list li,
    .service-detail-steps li { min-height:205px; }
    .services-process-list li:nth-child(n+4),
    .service-detail-steps li:nth-child(n+4) { min-height:190px; }
}

@media (max-width: 900px) {
    .services-main,
    .service-main { --services-section-space:80px; }
    .services-hero-layout,
    .service-detail-hero-layout,
    .service-detail-story-layout,
    .service-detail-faq-layout { grid-template-columns:1fr; }
    .services-hero-copy,
    .service-detail-hero-copy { max-width:750px; }
    .services-system,
    .service-detail-visual { width:min(100%,760px); margin-inline:auto; }
    .services-heading--split,
    .service-detail-heading--split { grid-template-columns:1fr; gap:20px; }
    .services-heading--split > p,
    .service-detail-heading--split > p { max-width:650px; }
    .services-card-grid,
    .services-comparison-grid,
    .service-audience-grid { grid-template-columns:1fr; }
    .services-card-grid,
    .services-comparison-grid { width:min(100%,760px); margin-inline:auto; }
    .services-card { border-radius:22px; }
    .services-card-media { aspect-ratio:4/3; }
    .services-final-cta > .container,
    .service-detail-cta > .container { align-items:flex-start; flex-direction:column; }
    .services-final-actions,
    .service-detail-cta-actions { align-items:flex-start; }
    .service-detail-highlights { margin-top:46px; }
    .service-detail-story-copy { max-width:720px; }
    .service-detail-approach { min-height:0; }
    .service-detail-fit { margin-top:-16px; }
    .service-detail-faq .service-detail-heading { position:static; }
    .service-detail-faq .service-detail-heading > p { max-width:650px; }
    .solution-chapter-intro { grid-template-columns:1fr; }
    .solution-chapter-copy { max-width:750px; }
    .solution-chapter--cobranca .solution-chapter-copy { order:1; }
    .solution-chapter--cobranca .service-detail-visual { order:2; }
    .solution-chapter .service-detail-fit { margin-top:0; }
    .services-faq-groups { grid-template-columns:1fr; }
    .services-page-nav { position:static; }
    .services-page-nav > .container { min-height:58px; }
    .services-page-nav > .container > span { display:none; }
    .services-page-nav > .container > div { width:100%; justify-content:flex-start; gap:24px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; }
    .services-page-nav > .container > div::-webkit-scrollbar { display:none; }
    .services-main [id="servicos-principais"],
    .services-main [id="comparar-servicos"],
    .services-main [id="garantia-de-receita"],
    .services-main [id="cobranca-custo-zero"],
    .services-main [id="estrutura-servicos"],
    .services-main [id="duvidas-servicos"] { scroll-margin-top:calc(var(--header-height) + 16px); }
    .site-header.is-hidden ~ .services-main [id="servicos-principais"],
    .site-header.is-hidden ~ .services-main [id="comparar-servicos"],
    .site-header.is-hidden ~ .services-main [id="garantia-de-receita"],
    .site-header.is-hidden ~ .services-main [id="cobranca-custo-zero"],
    .site-header.is-hidden ~ .services-main [id="estrutura-servicos"],
    .site-header.is-hidden ~ .services-main [id="duvidas-servicos"] { scroll-margin-top:16px; }
}

@media (max-width: 680px) {
    .services-main,
    .service-main { --services-section-space:64px; }
    .services-main h1,
    .services-main h2,
    .service-main h1,
    .service-main h2,
    .services-hero-copy h1,
    .service-detail-hero-copy h1,
    .services-heading h2,
    .service-detail-heading h2,
    .service-detail-story-copy h2,
    .services-final-cta h2,
    .service-detail-cta h2 { font-size:clamp(2rem,8.6vw,2.55rem); line-height:1.06; }
    .services-hero-copy h1,
    .service-detail-hero-copy h1 { font-size:clamp(2.25rem,10vw,3rem); }
    .services-hero-copy > p,
    .service-detail-hero-copy > p,
    .service-detail-story-copy > p,
    .services-heading > p,
    .service-detail-heading > p { font-size:.95rem; }
    .services-hero-actions,
    .service-detail-actions { align-items:stretch; flex-direction:column; gap:12px; }
    .services-hero-actions .btn,
    .service-detail-actions .btn { width:100%; }
    .services-hero-actions .btn-text,
    .service-detail-actions .btn-text { width:auto; align-self:flex-start; }
    .services-hero-facts { grid-template-columns:1fr; margin-top:28px; padding-top:0; border-top:0; }
    .services-hero-facts > div { padding:14px 0; border-top:1px solid rgba(39,31,32,.1); }
    .services-hero-facts > div + div { padding-left:0; border-left:0; }
    .services-system { display:flex; min-height:0; flex-direction:column; gap:14px; padding:24px; border-radius:22px; }
    .services-system-orbit { width:116%; }
    .services-system-card { position:relative; top:auto; right:auto; bottom:auto; left:auto; width:100%; grid-template-columns:44px 1fr; padding:15px; }
    .services-system-icon { width:44px; height:44px; }
    .services-system-center { position:relative; top:auto; left:auto; width:105px; margin:-2px auto; transform:none; flex:0 0 auto; }
    .services-system-status { position:relative; right:auto; bottom:auto; justify-content:center; margin-top:3px; text-align:center; }
    .services-heading,
    .service-detail-heading { margin-bottom:32px; }
    .services-heading--center,
    .service-detail-heading--center { text-align:left; }
    .services-heading--center h2,
    .service-detail-heading--center h2,
    .services-heading--center > p,
    .service-detail-heading--center > p { margin-inline:0; }
    .services-card-body { padding:25px 22px; }
    body.site-body .services-card-body h3 { font-size:1.7rem; }
    .services-benefit-grid,
    .services-comparison-grid,
    .services-process-list,
    .service-structure-grid,
    .service-detail-steps,
    .service-detail-highlights,
    .service-detail-fit { grid-template-columns:1fr; }
    .services-process-list li,
    .service-detail-steps li,
    .services-process-list li:nth-child(4),
    .service-detail-steps li:nth-child(4) { grid-column:auto; }
    .services-benefit-grid article,
    .service-structure-grid article { min-height:0; padding:20px; }
    .services-comparison-card { padding:24px 21px; }
    .services-comparison-card dl > div { grid-template-columns:1fr; gap:5px; }
    .services-process-list li { min-height:0; padding:23px; }
    .services-process-list li > span { margin-bottom:25px; }
    .services-final-actions,
    .services-final-actions .btn,
    .service-detail-cta-actions,
    .service-detail-cta-actions .btn { width:100%; }
    .services-final-actions > a:last-child,
    .service-detail-cta-actions > a:last-child { align-self:center; }
    .service-detail-accent { font-size:.98rem; }
    .service-detail-visual > picture,
    .service-main--cobranca .service-detail-visual > picture { border-width:4px; border-radius:20px 50px 20px 20px; }
    .service-detail-visual figcaption { position:relative; right:auto; bottom:auto; max-width:none; margin:-7px 12px 0; }
    .service-detail-highlights { gap:16px; margin-top:36px; padding-top:25px; }
    .service-detail-highlights article { padding-bottom:16px; border-bottom:1px solid rgba(39,31,32,.1); }
    .service-detail-highlights article:last-child { padding-bottom:0; border-bottom:0; }
    .service-detail-highlights p { max-width:none; }
    .service-detail-story-layout { gap:32px; }
    .service-detail-approach { padding:25px; border-radius:20px; }
    .service-detail-approach small { margin-top:28px; }
    .service-detail-fit { margin-top:0; }
    .service-detail-fit article { padding:18px; }
    .service-audience-card { padding:22px 20px; }
    .service-audience-card > header { grid-template-columns:46px 1fr; }
    .service-audience-card > header > span { width:46px; height:46px; }
    .service-audience-card li { grid-template-columns:38px 1fr; }
    .service-audience-card li > span { width:38px; height:38px; }
    .service-detail-steps li { display:grid; min-height:0; grid-template-columns:43px 1fr; gap:14px; padding:21px; }
    .service-detail-steps li > span { margin:3px 0 0; }
    .service-portal-link { width:100%; justify-content:center; }
    .service-faq-list summary { min-height:68px; font-size:.88rem; }
    .service-faq-list details > p { margin-right:4px; }
    .solution-chapter-description { padding:16px 17px; font-size:.82rem; }
    .solution-chapter-story { margin-top:38px; padding-top:32px; row-gap:20px; }
    .solution-chapter-benefits { margin-top:50px; }
    .solution-chapter-process { margin-top:48px; padding:28px 21px; border-radius:22px; }
    .solution-chapter-process .service-detail-heading { margin-bottom:30px; }
    .services-common-cta,
    .services-common-cta.btn { width:100%; justify-content:center; }
    .services-faq-group { padding:22px 20px; }
    .services-faq-link { margin-top:25px; }
    .services-page-nav a { min-height:48px; }
    .service-detail-highlights p,
    .service-audience-card li p,
    .services-process-list p,
    .service-detail-steps p,
    .services-benefit-grid p,
    .service-structure-grid p,
    .services-card-body li span { font-size:.8rem; }
}

@media (max-width: 390px) {
    .services-system { padding:18px; }
    .services-system-card { grid-template-columns:1fr; }
    .services-system-icon { width:42px; height:42px; }
    .services-comparison-title,
    .service-audience-card > header,
    .services-faq-group > header { grid-template-columns:1fr; }
    .services-comparison-title > span,
    .service-audience-card > header > span,
    .services-faq-group > header > span { width:46px; height:46px; }
}

/* Contato */
@media (max-width: 1080px) {
    .contact-page-hero-layout { grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr); gap:48px; }
    .contact-page-layout { grid-template-columns:minmax(285px,.68fr) minmax(0,1.32fr); gap:38px; }
    .contact-channel-list article { padding:19px; }
}

@media (max-width: 900px) {
    .contact-main { --contact-section-space:80px; }
    .contact-page-hero-layout,
    .contact-page-heading,
    .contact-page-layout { grid-template-columns:1fr; }
    .contact-page-hero-copy { max-width:720px; }
    .contact-availability-card { width:min(100%,720px); }
    .contact-page-heading { gap:20px; }
    .contact-page-heading > p { max-width:660px; }
    .contact-page-layout { gap:38px; }
    .contact-channel-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .contact-channel-list article { grid-template-columns:1fr; align-content:start; }
    .contact-channel-note { grid-column:1/-1; }
    .contact-office-grid { gap:18px; }
}

@media (max-width: 760px) {
    .contact-channel-list { grid-template-columns:1fr; }
    .contact-channel-list article { grid-template-columns:50px minmax(0,1fr); }
    .contact-channel-note { grid-column:auto; }
}

@media (max-width: 680px) {
    .contact-main { --contact-section-space:64px; }
    .contact-page-hero::after { right:-42%; bottom:-28%; width:120vw; }
    .contact-page-grid { background-size:48px 48px; }
    .contact-page-hero-copy h1 { font-size:clamp(2.25rem,10vw,3rem); line-height:1.04; }
    .contact-page-hero-copy > p { font-size:.95rem; }
    .contact-page-hero-actions { align-items:stretch; flex-direction:column; gap:10px; }
    .contact-page-hero-actions .btn-primary { width:100%; }
    .contact-page-hero-actions .btn-text { width:auto; align-self:flex-start; }
    .contact-availability-card { padding:25px 22px; border-radius:22px; }
    .contact-availability-card > span { margin-top:30px; }
    .contact-availability-links { grid-template-columns:1fr; }
    .contact-page-heading { margin-bottom:34px; }
    .contact-page-heading h2 { font-size:clamp(2rem,8.6vw,2.55rem); line-height:1.06; }
    .contact-page-heading > p { font-size:.92rem; }
    .contact-channel-list article { padding:19px 17px; }
    body.site-body .contact-channel-list h3 { font-size:1.12rem; }
    .contact-message-card { padding:26px 20px; border-radius:20px; }
    body.site-body .contact-form-heading h3 { font-size:clamp(1.75rem,8vw,2.2rem); }
    .contact-message-card .form-grid.two-columns { grid-template-columns:1fr; }
    .contact-message-card .form-success-state { min-height:420px; }
    .contact-office-grid { grid-template-columns:1fr; }
    .contact-office-card figure { aspect-ratio:16/9; }
    .contact-office-card--florianopolis img { object-position:50% 58%; }
    .contact-office-card--sao-paulo img { object-position:58% 54%; }
    .contact-office-card > div { padding:24px 21px 26px; }
    .contact-office-pin { top:20px; right:20px; }
    .contact-map-link { width:100%; justify-content:center; }
}

@media (max-width: 390px) {
    .contact-availability-card h2 { font-size:1.48rem; }
    .contact-channel-list article { grid-template-columns:44px minmax(0,1fr); gap:13px; }
    .contact-channel-list article > span { width:44px; height:44px; }
    body.site-body .contact-channel-list h3 { font-size:1rem; }
    .contact-office-card figcaption { left:14px; bottom:13px; }
}

/* Dúvidas */
@media (max-width: 1080px) {
    .faq-hero-layout { grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr); gap:48px; }
    .faq-directory { grid-template-columns:minmax(235px,.56fr) minmax(0,1.44fr); gap:38px; }
    .faq-help-card { padding:27px; }
    .faq-support-layout { grid-template-columns:minmax(0,.82fr) minmax(430px,1.18fr); gap:48px; }
}

@media (max-width: 900px) {
    .faq-main { --faq-section-space:80px; }
    .faq-hero-layout,
    .faq-directory,
    .faq-support-layout { grid-template-columns:1fr; }
    .faq-hero-copy { max-width:720px; }
    .faq-search-card { width:min(100%,720px); }
    .faq-directory { gap:42px; }
    .faq-help-card { position:static; display:grid; grid-template-columns:56px minmax(0,1fr); column-gap:20px; }
    .faq-help-icon { grid-row:1 / 4; }
    .faq-help-label { margin-top:0; }
    .faq-help-card h2,
    .faq-help-card p { grid-column:2; }
    .faq-help-card .btn,
    .faq-help-card small { grid-column:1 / -1; }
    .faq-help-card .btn { width:max-content; }
    .faq-knowledge-heading { grid-template-columns:1fr; gap:20px; }
    .faq-knowledge-heading > p { max-width:650px; }
    .faq-knowledge-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .faq-knowledge-grid article:last-child { grid-column:1 / -1; min-height:220px; }
    .faq-support header { max-width:700px; }
    .faq-support-channels { width:min(100%,720px); }
}

@media (max-width: 680px) {
    .faq-main { --faq-section-space:64px; }
    .faq-hero::after { right:-42%; bottom:-28%; width:120vw; }
    .faq-hero-grid { background-size:48px 48px; }
    .faq-hero-copy h1 { font-size:clamp(2.25rem,10vw,3rem); line-height:1.04; }
    .faq-hero-copy > p,
    .faq-library-heading > p { font-size:.95rem; }
    .faq-hero-facts { align-items:flex-start; flex-direction:column; }
    .faq-hero-facts > span,
    .faq-hero-facts > span + span { width:100%; padding:10px 0; border-left:0; border-top:1px solid var(--line); }
    .faq-search-card { padding:24px 20px; border-radius:22px; }
    .faq-search-form > label { font-size:1.35rem; }
    .faq-search-form > div { min-height:54px; grid-template-columns:minmax(0,1fr) 54px; }
    .faq-search-form input { padding-inline:18px 10px; font-size:1rem; }
    .faq-library-heading { text-align:left; }
    .faq-library-heading .eyebrow { justify-content:flex-start; }
    .faq-library-heading h2,
    .faq-knowledge-heading h2,
    .faq-support h2 { font-size:clamp(2rem,8.6vw,2.55rem); line-height:1.06; }
    .faq-category-nav { margin-inline:calc(var(--gutter) * -1); padding-inline:var(--gutter); flex-wrap:nowrap; justify-content:flex-start; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity; scrollbar-width:none; }
    .faq-category-nav::-webkit-scrollbar { display:none; }
    .faq-category-nav button { flex:0 0 auto; scroll-snap-align:start; }
    .faq-result-status { text-align:left; }
    .faq-help-card { display:block; padding:25px 22px; }
    .faq-help-label { margin-top:30px; }
    .faq-help-card .btn { width:100%; }
    .faq-group { margin-bottom:34px; padding:22px 18px; border-radius:20px; }
    .faq-group-heading { grid-template-columns:46px minmax(0,1fr); gap:14px; }
    .faq-group-heading > span { width:46px; height:46px; border-radius:14px; }
    .faq-group-heading h2 { font-size:1.48rem; }
    .faq-group-heading p { font-size:.8rem; }
    .faq-accordion .accordion-item button { min-height:68px; gap:14px; padding:16px 0; }
    .faq-accordion .accordion-item button > span { grid-template-columns:25px minmax(0,1fr); gap:9px; font-size:.91rem; }
    .faq-accordion .accordion-item button b { width:32px; height:32px; }
    .faq-accordion .accordion-panel { padding:0 3px 20px 34px; }
    .faq-accordion .accordion-panel p,
    .faq-accordion .accordion-panel li { font-size:.84rem; }
    .faq-knowledge-grid { grid-template-columns:1fr; }
    .faq-knowledge-grid article,
    .faq-knowledge-grid article:last-child { min-height:230px; grid-column:auto; }
    .faq-knowledge-cta .btn { width:100%; }
    .faq-support-channels > a { min-height:80px; padding:15px 17px; }
    .faq-support header .btn { width:100%; }
}

@media (max-width: 390px) {
    .faq-search-form > div { border-radius:18px; }
    .faq-search-form input { font-size:1rem; }
    .faq-quick-actions a { grid-template-columns:22px minmax(0,1fr) 16px; }
    .faq-group-heading { grid-template-columns:1fr; }
    .faq-group-heading > span { margin-bottom:2px; }
    .faq-accordion .accordion-item button > span { grid-template-columns:1fr; }
    .faq-accordion .accordion-item button i { padding-top:0; }
    .faq-accordion .accordion-panel { padding-left:0; }
    .faq-support-channels > a { grid-template-columns:42px minmax(0,1fr); column-gap:13px; }
    .faq-support-channels > a > span { width:42px; height:42px; }
    .faq-support-channels strong { font-size:.86rem; }
}

/* Portal Digital */
@media (max-width: 1080px) {
    .portal-digital-hero-layout { grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr); gap:44px; }
    .portal-digital-hero-visual { min-height:470px; }
    .portal-digital-system-layout { grid-template-columns:minmax(285px,.72fr) minmax(470px,1.28fr); gap:42px; }
    .portal-digital-system-visual { min-height:500px; }
}

@media (max-width: 900px) {
    .portal-digital-main { --portal-section-space:80px; }
    .portal-digital-hero-layout,
    .portal-digital-system-layout { grid-template-columns:1fr; }
    .portal-digital-hero-copy,
    .portal-digital-system-copy { max-width:720px; }
    .portal-digital-hero-visual { width:min(100%,760px); min-height:clamp(480px,70vw,570px); margin-inline:auto; }
    .portal-benefit-grid,
    .portal-audience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .portal-benefit-grid article:last-child,
    .portal-audience-grid > article:last-child { grid-column:1 / -1; }
    .portal-benefit-grid article:last-child { min-height:220px; }
    .portal-digital-split-heading { grid-template-columns:1fr; gap:20px; }
    .portal-digital-split-heading > p { max-width:650px; }
    .portal-audience-grid article > p { min-height:0; }
    .portal-digital-system-layout { gap:42px; }
    .portal-digital-system-visual { width:min(100%,720px); min-height:540px; margin-inline:auto; }
}

@media (max-width: 680px) {
    .portal-digital-main { --portal-section-space:64px; }
    .portal-digital-grid-bg { background-size:48px 48px; }
    .portal-digital-hero::after { right:-44%; bottom:-27%; width:120vw; }
    .portal-digital-hero-copy h1 { font-size:clamp(2.25rem,10vw,3rem); line-height:1.04; }
    .portal-digital-hero-copy > p,
    .portal-digital-heading > p,
    .portal-digital-system-copy > p { font-size:.95rem; }
    .portal-digital-hero-facts { grid-template-columns:1fr; margin-top:28px; padding-top:0; border-top:0; }
    .portal-digital-hero-facts > span,
    .portal-digital-hero-facts > span + span { padding:11px 0; border-left:0; border-top:1px solid rgba(39,31,32,.12); }
    .portal-digital-hero-facts > span { display:grid; grid-template-columns:105px minmax(0,1fr); align-items:baseline; gap:10px; }
    .portal-digital-hero-visual { min-height:clamp(330px,88vw,440px); border-radius:24px; }
    .portal-digital-hero-visual img { width:122%; transform:translate(3%,2%); }
    .portal-digital-heading { margin-bottom:34px; text-align:left; }
    .portal-digital-heading .eyebrow { justify-content:flex-start; }
    .portal-digital-heading h2,
    .portal-digital-split-heading h2,
    .portal-digital-system-copy h2 { font-size:clamp(2rem,8.6vw,2.55rem); line-height:1.06; }
    .portal-digital-heading > p { margin-inline:0; }
    .portal-benefit-grid,
    .portal-audience-grid { grid-template-columns:1fr; }
    .portal-benefit-grid article,
    .portal-benefit-grid article:last-child { min-height:220px; grid-column:auto; }
    .portal-benefit-grid article { padding:25px 22px; border-radius:20px; }
    body.site-body .portal-benefit-grid h3 { margin-top:34px; }
    .portal-digital-split-heading { margin-bottom:34px; }
    .portal-audience-grid > article,
    .portal-audience-grid > article:last-child { min-height:0; grid-column:auto; padding:25px 22px; border-radius:20px; }
    body.site-body .portal-audience-grid h3 { margin-top:34px; }
    .portal-audience-grid ul { margin-top:21px; padding-top:19px; }
    .portal-digital-system-layout { gap:34px; }
    .portal-digital-system-copy ul { margin-top:25px; }
    .portal-digital-system-visual { min-height:clamp(350px,104vw,430px); }
    .portal-system-panel--documents { top:-2%; left:-12%; width:63%; }
    .portal-system-panel--boleto { top:-12%; right:-11%; width:55%; }
    .portal-system-panel--request { right:0; bottom:-13%; width:57%; }
}

@media (max-width: 390px) {
    .portal-digital-hero-visual { min-height:320px; }
    .portal-digital-hero-facts > span { grid-template-columns:92px minmax(0,1fr); }
    .portal-digital-system-visual { min-height:330px; }
}

/* Conteúdos / Blog */
@media (min-width: 901px) and (max-width: 1000px) {
    .blog-card-grid { grid-template-columns:1fr; }
}

@media (max-width: 1080px) {
    .blog-hero-layout { grid-template-columns:minmax(0,.9fr) minmax(390px,.72fr); gap:48px; }
    .blog-featured-card { grid-template-columns:minmax(0,1fr) minmax(340px,.88fr); }
    .blog-library-layout { grid-template-columns:minmax(0,1fr) 270px; gap:28px; }
    .blog-card { min-height:480px; }
    .blog-card-body { padding:23px 21px; }
    .blog-newsletter-layout { grid-template-columns:minmax(0,.8fr) minmax(440px,1.2fr); gap:42px; }
}

@media (max-width: 900px) {
    .content-page-main { --blog-section-space:80px; }
    .blog-hero-layout,
    .blog-featured-card,
    .blog-library-heading,
    .blog-library-layout,
    .blog-newsletter-layout { grid-template-columns:1fr; }
    .blog-hero-copy { max-width:720px; }
    .blog-search-card { width:min(100%,720px); min-height:0; margin-inline:auto; }
    .blog-featured-card { width:min(100%,760px); margin-inline:auto; }
    .blog-featured-image { min-height:clamp(360px,62vw,480px); }
    .blog-library-heading { gap:18px; }
    .blog-library-heading > p { max-width:650px; }
    .blog-library-layout { gap:34px; }
    .blog-sidebar { grid-template-columns:minmax(0,1.18fr) minmax(250px,.82fr); }
    .blog-category-card { position:static; }
    .blog-newsletter-layout { gap:34px; }
}

@media (max-width: 680px) {
    .content-page-main { --blog-section-space:64px; }
    .blog-grid-bg { background-size:48px 48px; }
    .blog-hero::after { right:-45%; bottom:-22%; width:118vw; }
    .blog-hero-copy h1 { font-size:clamp(2.25rem,10vw,3rem); line-height:1.04; }
    .blog-hero-copy > p { font-size:.95rem; }
    .blog-hero-topics { margin-top:24px; }
    .blog-search-card { padding:25px 21px; border-radius:22px; }
    .blog-search-card > span { margin-bottom:22px; }
    .blog-search-card > div { grid-template-columns:1fr; padding:5px; border-radius:18px; }
    .blog-search-card button { justify-content:center; border-radius:14px; }
    .blog-featured-card { border-radius:22px; }
    .blog-featured-image { min-height:260px; }
    .blog-featured-image > span { top:16px; left:16px; }
    .blog-featured-copy { padding:29px 23px; }
    .blog-featured-copy h2,
    .blog-library-heading h2,
    .blog-newsletter-layout h2 { font-size:clamp(2rem,8.6vw,2.55rem); line-height:1.06; }
    .blog-featured-copy > .btn { width:100%; }
    .blog-library-heading { margin-bottom:34px; }
    .blog-card-grid,
    .blog-sidebar { grid-template-columns:1fr; }
    .blog-results-bar { align-items:flex-start; flex-direction:column; gap:9px; }
    .blog-card { min-height:0; }
    .blog-card-body { min-height:285px; padding:24px 21px; }
    .blog-category-card,
    .blog-sidebar-note { border-radius:20px; }
    .blog-pagination { gap:10px; }
    .blog-pagination-arrow > span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
    .blog-pagination-arrow { display:grid; width:44px; place-items:center; }
    .blog-pagination > div { gap:5px; }
    .blog-pagination > div > a,
    .blog-pagination > div > span:not(.blog-pagination-ellipsis) { width:40px; height:40px; }
    .blog-newsletter-form { grid-template-columns:1fr; }
    .blog-newsletter-form .btn { width:100%; }
}

@media (max-width: 390px) {
    .blog-featured-image { min-height:230px; }
    .blog-article-meta { gap:7px; font-size:.68rem; }
    .blog-pagination > div > a,
    .blog-pagination > div > span:not(.blog-pagination-ellipsis) { width:38px; height:38px; }
    .blog-category-card { padding:23px 18px; }
}
