/* Guarai Institucional 1.5.0 - visual refinement and density layer. */
:root{
  --radius:16px;
  --shadow:0 10px 26px rgba(7,29,65,.075);
}
body{line-height:1.55}

/* Header: shorter, calmer and still fully accessible. */
.utility-bar__inner{min-height:34px}
.site-header__main{min-height:96px;gap:20px}
.custom-logo{max-height:72px}
.header-search{min-height:46px;border-radius:11px;background:#fbfcfe}
.header-search button{border-radius:0 10px 10px 0}
.header-shortcuts>a{width:82px;min-height:62px;padding:6px;border-radius:9px}
.header-shortcuts span{font-size:1.08rem}
.header-shortcuts strong{font-size:.7rem}
.primary-menu a,.primary-nav .menu a{min-height:44px;padding:10px 14px}

/* Shared hierarchy. */
.section-heading{margin-bottom:18px}
.section-heading h2{font-size:clamp(1.65rem,2.4vw,2.2rem);margin:7px 0;letter-spacing:-.015em}
.section-heading p{max-width:760px;font-size:.96rem}
.section-heading--row{gap:20px}
.eyebrow,.section-heading>span{padding:4px 8px;font-size:.71rem}
.section-link{min-height:44px;align-items:center}

/* Home hero: less height, stronger information hierarchy. */
.home-hero{padding:54px 0}
.home-hero:after{right:-145px;top:-180px;width:430px;height:430px;opacity:.75}
.home-hero__grid{grid-template-columns:minmax(0,1.42fr) minmax(300px,.58fr);gap:36px}
.home-kicker{padding:5px 10px;font-size:.73rem}
.home-hero h1{max-width:820px;margin:13px 0;font-size:clamp(2.25rem,4.4vw,4rem);line-height:1.03;letter-spacing:-.025em}
.home-hero__copy>p{max-width:720px;margin:0;font-size:1.04rem;line-height:1.55}
.home-hero__actions{gap:10px;margin-top:20px}
.home-hero__panel{padding:20px;border:1px solid rgba(255,255,255,.65);border-radius:18px;box-shadow:0 16px 38px rgba(0,0,0,.16)}
.home-hero__panel>strong{display:block;margin-top:3px;font-size:1.16rem;line-height:1.2}
.home-hero__panel>p{margin:7px 0 14px;font-size:.88rem;line-height:1.45}
.home-essential__eyebrow{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#e9f3ff;color:#0a568d;font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.home-essential__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-essential__grid a{display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;min-height:58px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#f9fbfd;color:var(--navy);text-decoration:none;transition:border-color .16s ease,background .16s ease,transform .16s ease}
.home-essential__grid a:hover{transform:translateY(-1px);border-color:#a9c7ea;background:#fff}
.home-essential__grid a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.home-essential__grid a>span{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf3ff;color:var(--blue)}
.home-essential__grid a>span .guarai-icon{width:19px;height:19px}
.home-essential__grid a>strong{font-size:.82rem;line-height:1.18}

/* Home density and cards. */
.home-section{padding:44px 0}
.home-card-grid{gap:13px}
.home-card{min-height:118px;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px;padding:16px;border-radius:15px;box-shadow:0 4px 14px rgba(7,29,65,.035)}
.home-card:hover,.home-card:focus-visible{transform:translateY(-2px);box-shadow:0 10px 25px rgba(7,29,65,.08)}
.home-card__icon{width:44px;height:44px;border-radius:12px;font-size:1.12rem}
.home-card__content strong{font-size:.95rem}
.home-card__content em{margin-top:5px;font-size:.82rem;line-height:1.4}
.home-card--quick{border-top-width:3px}

/* Service tabs: same functionality, less visual weight. */
.service-tabs{margin-top:16px}
.service-tabs__nav{gap:6px;margin-bottom:16px;padding:4px;border-radius:14px}
.service-tabs__tab{min-height:44px;padding:8px 14px;border-radius:10px;font-size:.92rem}
.service-tabs__tab.is-active{box-shadow:0 5px 13px rgba(7,29,65,.14)}
.service-tabs__grid{gap:12px}
.service-tab-card{grid-template-columns:44px minmax(0,1fr) 20px;gap:11px;min-height:110px;padding:15px;border-radius:15px;box-shadow:0 4px 14px rgba(7,29,65,.035)}
.service-tab-card:hover,.service-tab-card:focus-visible{transform:translateY(-2px);box-shadow:0 10px 25px rgba(7,29,65,.08)}
.service-tab-card__icon{width:44px;height:44px;border-radius:12px}
.service-tab-card__body>span{margin-top:5px;font-size:.82rem}
.service-tab-card__body small{margin-top:6px}

/* News and campaigns. */
.news-layout{gap:14px}
.news-card{border-radius:15px;box-shadow:0 5px 16px rgba(7,29,65,.04)}
.news-card__body{padding:15px}
.news-card__body h3{font-size:1rem}
.news-card--featured .news-card__body h3{font-size:1.34rem}
.news-card__body p{font-size:.91rem}
.home-banners{padding-top:38px;padding-bottom:42px}
.home-banner-rail{gap:14px}
.home-banner-card{border-radius:16px;box-shadow:0 6px 18px rgba(7,29,65,.055)}

/* Interior pages and directories. */
.page-main{padding:24px 0 48px}
.entry-header,.archive-header{margin:20px 0 24px}
.entry-header h1,.archive-header h1{font-size:clamp(1.85rem,3.4vw,3rem);letter-spacing:-.02em}
.entry-lead,.archive-header>p,.archive-description{font-size:1.02rem}
.entry-content{font-size:1rem}
.content-card-grid{gap:13px}
.content-card{border-radius:14px;box-shadow:0 4px 14px rgba(7,29,65,.035)}
.content-card>a{min-height:146px;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px;padding:16px}
.content-card__icon{width:44px;height:44px;border-radius:12px}
.content-card h2{font-size:1rem;margin-bottom:6px}
.content-card p{font-size:.86rem}
.content-card:hover{box-shadow:0 10px 25px rgba(7,29,65,.08)}
.filter-chips{margin-bottom:18px}
.fact-card{padding:15px;border-radius:13px}
.document-row{padding:15px;border-radius:13px}
.archive-grid{gap:16px}
.archive-card{border-radius:14px}
.search-result{padding:17px;border-radius:13px}

/* Government Digital: preserve metrics, remove excess air. */
.digital-government-intro{margin-bottom:22px}
.digital-section-head{gap:18px;margin-bottom:15px}
.digital-section-head h2{font-size:clamp(1.35rem,2.5vw,1.85rem)}
.digital-services,.digital-performance,.digital-status,.digital-principles{margin:27px 0}
.digital-card-grid{gap:12px}
.digital-card{grid-template-columns:44px minmax(0,1fr) 20px;gap:11px;padding:15px;border-radius:14px;box-shadow:0 4px 13px rgba(15,23,42,.035)}
.digital-card__icon{width:44px;height:44px;border-radius:12px}
.digital-performance{padding:20px;border-radius:17px}
.digital-kpis>div{min-height:98px;padding:15px;border-radius:13px}
.digital-kpis strong{font-size:1.55rem}
.digital-principles-grid>div{padding:15px;border-radius:13px}

/* Prefeitura institutional page. */
.prefeitura-section{padding:28px 0}
.prefeitura-management-grid{gap:14px}
.prefeitura-panel{gap:14px;padding:18px;border-radius:15px;box-shadow:0 4px 14px rgba(7,29,65,.035)}
.prefeitura-panel__icon{width:46px;height:46px;flex-basis:46px;border-radius:12px}
.prefeitura-panel h3{font-size:1.08rem}
.prefeitura-units-grid .content-card>a{min-height:138px}
.prefeitura-callout{gap:20px;padding:20px;border-radius:15px}

/* Transparency portal: compact, modern, but not cramped. */
.transparency-portal{margin-top:28px;margin-bottom:46px;border-radius:20px;box-shadow:0 14px 42px rgba(15,23,42,.10)}
.transparency-hero{grid-template-columns:minmax(0,1fr) 320px;gap:20px;padding:34px}
.transparency-hero h1{font-size:clamp(2rem,4.2vw,3.55rem);margin:8px 0;letter-spacing:-.025em}
.transparency-hero__content>p:not(.transparency-kicker){font-size:1.01em}
.transparency-hero__actions{gap:10px;margin-top:18px}
.transparency-hero__summary{padding:18px;border-radius:15px;box-shadow:0 11px 25px rgba(0,0,0,.14)}
.transparency-tools{gap:12px;padding:16px 22px}
.transparency-search{min-height:46px}
.breadcrumbs{padding-top:15px}
.transparency-portal .breadcrumbs{padding:11px 22px}
.transparency-block{padding:22px}
.transparency-grid{gap:12px}
.transparency-card{gap:12px;min-height:110px;padding:14px;border-radius:14px;box-shadow:0 4px 14px rgba(15,23,42,.04)}
.transparency-card:hover,.transparency-card:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(15,23,42,.09)}
.transparency-card__icon{flex-basis:42px;width:42px;height:42px;border-radius:12px}
.transparency-card strong{margin-top:4px}
.transparency-card em{margin-top:5px}
.transparency-result-count{padding:0 22px 7px}
.transparency-groups{padding:0 22px 22px}
.transparency-group{padding:18px;margin-bottom:14px;border-radius:16px;box-shadow:0 5px 16px rgba(15,23,42,.04)}
.transparency-group__head{margin-bottom:13px}

/* Rights and footer. */
.home-rights__grid{gap:30px}
.home-rights h2{font-size:clamp(1.65rem,2.6vw,2.25rem)}
.home-rights__links a{min-height:48px;padding:10px 13px;border-radius:11px}
.footer-grid{gap:24px;padding-top:38px;padding-bottom:28px}
.site-footer h2{margin-bottom:10px;font-size:.94rem}
.footer-brand h2{font-size:1.15rem}
.footer-brand>p,.footer-nav a,.footer-default-links a{font-size:.9rem}
.footer-nav li,.footer-default-links li{margin:6px 0}
.footer-social-section{gap:20px;padding:18px 0}
.footer-social-section h2{font-size:1rem}
.footer-extra{padding:18px 0}
.footer-legal__inner{min-height:54px;font-size:.78rem}
.footer-legal nav{gap:12px}

/* High contrast support for newly introduced essential access panel. */
.guarai-high-contrast .home-essential__eyebrow,
.guarai-high-contrast .home-essential__grid a,
.guarai-high-contrast .home-essential__grid a>span{background:#000;color:#ffff00;border-color:#ffff00}
.guarai-high-contrast .home-essential__grid a>strong{color:#fff}

@media(max-width:1180px){
  .site-header__main{min-height:92px}
  .home-hero__grid{gap:30px}
}
@media(max-width:900px){
  .site-header__main{min-height:82px}
  .home-hero{padding:44px 0}
  .home-hero__grid{gap:24px}
  .home-hero__panel{max-width:620px}
  .home-section{padding:40px 0}
  .transparency-hero{grid-template-columns:1fr;padding:28px}
}
@media(max-width:680px){
  .custom-logo{max-height:62px}
  .home-hero{padding:36px 0}
  .home-hero h1{font-size:2.18rem}
  .home-hero__copy>p{font-size:.98rem}
  .home-hero__panel{padding:16px}
  .home-essential__grid a{min-height:56px}
  .home-section{padding:34px 0}
  .section-heading{margin-bottom:15px}
  .section-heading h2{font-size:1.75rem}
  .home-card{padding:15px}
  .service-tab-card{padding:14px}
  .footer-grid{padding-top:32px;padding-bottom:24px}
  .transparency-portal{margin-top:18px;margin-bottom:30px;border-radius:15px}
  .transparency-hero{padding:22px}
  .transparency-tools,.transparency-block{padding:16px}
  .transparency-result-count{padding-left:16px;padding-right:16px}
  .transparency-groups{padding-left:16px;padding-right:16px;padding-bottom:16px}
}
@media(max-width:430px){
  .home-essential__grid{grid-template-columns:1fr}
  .home-essential__grid a{min-height:52px}
}
@media(prefers-reduced-motion:reduce){
  .home-essential__grid a{transition:none}
}
