/* ============================================================
   ICDS HOME · Design System v1.0 (base Gerow)
   ============================================================ */
:root{
  --ic-primary:#0D5EF4; --ic-primary-hover:#0A4CC9; --ic-primary-soft:#E8F0FE; --ic-primary-light:#4D8BFF;
  --ic-navy-900:#061738; --ic-navy-800:#0B1F45; --ic-navy-700:#12295A;
  --ic-white:#FFFFFF; --ic-gray-50:#F4F7FC; --ic-gray-100:#ECF1F9; --ic-gray-200:#E4EAF3; --ic-gray-400:#8A99AD; --ic-gray-500:#67788C;
  --ic-star:#F9A825;
  --ic-font-display:'Plus Jakarta Sans',sans-serif; --ic-font-body:'Inter',sans-serif;
  --ic-fs-hero:clamp(1.9rem,4vw,3.2rem); --ic-fs-h2:clamp(1.8rem,3.4vw,2.5rem); --ic-fs-h3:1.375rem; --ic-fs-h4:1.125rem;
  --ic-fs-body:1rem; --ic-fs-small:.875rem; --ic-fs-badge:.8125rem;
  --ic-lh-heading:1.2; --ic-lh-body:1.75;
  --ic-sp-section:clamp(64px,9vw,120px);
  --ic-container:1320px; --ic-gutter:24px;
  --ic-radius-btn:6px; --ic-radius-card:12px; --ic-radius-pill:100px; --ic-radius-circle:50%;
  --ic-shadow-card:0 10px 30px rgba(6,23,56,.08); --ic-shadow-hover:0 20px 45px rgba(6,23,56,.14); --ic-shadow-btn:0 8px 20px rgba(13,94,244,.28);
  --ic-ease:cubic-bezier(.4,0,.2,1); --ic-ease-out:cubic-bezier(.16,1,.3,1); --ic-t-fast:.25s; --ic-t-med:.4s; --ic-t-slow:.8s;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--ic-font-body);font-size:var(--ic-fs-body);line-height:var(--ic-lh-body);color:var(--ic-gray-500);background:var(--ic-white)}
h1,h2,h3,h4{font-family:var(--ic-font-display);color:var(--ic-navy-900);line-height:var(--ic-lh-heading);font-weight:700}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button{font-family:var(--ic-font-display);cursor:pointer;border:none;background:none}
.container{max-width:var(--ic-container);margin:0 auto;padding:0 var(--ic-gutter)}
section{padding:var(--ic-sp-section) 0;position:relative;overflow:hidden}
.sec-head{max-width:640px;margin-bottom:56px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head h2{font-size:var(--ic-fs-h2);margin:16px 0 14px}
.on-dark h2{color:#fff}
.on-dark p{color:var(--ic-gray-400)}

/* ---- Componentes base ---- */
.ic-badge{display:inline-block;font-family:var(--ic-font-display);font-weight:700;font-size:var(--ic-fs-badge);letter-spacing:1.2px;text-transform:uppercase;padding:7px 18px;border-radius:var(--ic-radius-pill)}
.ic-badge-light{background:var(--ic-primary-soft);color:var(--ic-primary)}
.ic-badge-dark{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14)}
.ic-badge-solid{background:var(--ic-primary);color:#fff;text-transform:none;letter-spacing:0;font-size:.8rem;padding:6px 16px}
.ic-btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--ic-font-display);font-weight:700;font-size:var(--ic-fs-small);letter-spacing:.8px;text-transform:uppercase;padding:16px 30px;border-radius:var(--ic-radius-btn);border:1px solid transparent;transition:all var(--ic-t-fast) var(--ic-ease)}
.ic-btn .arr{transition:transform var(--ic-t-fast) var(--ic-ease)}
.ic-btn:hover .arr{transform:translateX(4px)}
.ic-btn-primary{background:var(--ic-primary);color:#fff}
.ic-btn-primary:hover{background:var(--ic-primary-hover);box-shadow:var(--ic-shadow-btn)}
.ic-btn-outline{background:transparent;color:var(--ic-navy-900);border-color:var(--ic-gray-200)}
.ic-btn-outline:hover{border-color:var(--ic-primary);color:var(--ic-primary)}
.ic-btn-outline.on-dark-btn{color:#fff;border-color:rgba(255,255,255,.4)}
.ic-btn-outline.on-dark-btn:hover{background:#fff;color:var(--ic-navy-900);border-color:#fff}
.ic-btn-ghost{background:var(--ic-gray-100);color:var(--ic-primary);padding:12px 22px}
.ic-btn-ghost:hover{background:var(--ic-primary);color:#fff}
.ic-btn-play{width:56px;height:56px;flex:none;border-radius:50%;background:var(--ic-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.9rem;position:relative}
.ic-btn-play::after{content:'';position:absolute;inset:-8px;border-radius:50%;border:1px solid rgba(255,255,255,.5);animation:ic-pulse 2s infinite}
@keyframes ic-pulse{0%{transform:scale(.9);opacity:1}100%{transform:scale(1.35);opacity:0}}
.ic-btn-nav{width:52px;height:52px;border-radius:50%;background:var(--ic-primary-soft);color:var(--ic-primary);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all var(--ic-t-fast)}
.ic-btn-nav:hover{background:var(--ic-primary);color:#fff}
.ic-iconbox{width:58px;height:58px;border-radius:10px;background:var(--ic-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem}
.reveal{opacity:0;transform:translateY(26px);transition:opacity var(--ic-t-slow) var(--ic-ease-out),transform var(--ic-t-slow) var(--ic-ease-out)}
.reveal.in{opacity:1;transform:translateY(0)}

/* ---- 00 Topbar ---- */
.topbar{background:#fff;border-bottom:1px solid var(--ic-gray-200);font-size:.82rem;padding:10px 0}
.topbar .container{display:flex;justify-content:space-between;align-items:center;gap:16px}
.topbar .info{display:flex;gap:28px;flex-wrap:wrap}
.topbar .info span{display:inline-flex;align-items:center;gap:8px}
.topbar .info svg{width:14px;height:14px;fill:var(--ic-primary)}
.topbar .social{display:flex;gap:14px;align-items:center}
.topbar .social a{color:var(--ic-gray-400);transition:color var(--ic-t-fast);font-size:.85rem}
.topbar .social a:hover{color:var(--ic-primary)}

/* ---- 01 Header ---- */
.header{background:#fff;position:sticky;top:0;z-index:90;box-shadow:0 2px 12px rgba(6,23,56,.06)}
.header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:16px;padding-bottom:16px}
.logo{font-family:var(--ic-font-display);font-weight:800;font-size:1.6rem;color:var(--ic-navy-900);display:inline-flex;align-items:center;gap:8px}
.logo .mark{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--ic-primary),var(--ic-primary-light));display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:1rem}
.logo em{color:var(--ic-primary);font-style:normal}
.nav{display:flex;gap:32px;align-items:center}
.nav>div{position:relative}
.nav a.top-link{font-family:var(--ic-font-display);font-weight:600;font-size:.95rem;color:var(--ic-navy-900);display:inline-flex;align-items:center;gap:6px;padding:10px 0;transition:color var(--ic-t-fast)}
.nav a.top-link:hover{color:var(--ic-primary)}
.dropdown{position:absolute;top:100%;left:-16px;background:#fff;min-width:220px;border-radius:var(--ic-radius-btn);box-shadow:var(--ic-shadow-hover);padding:10px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:all var(--ic-t-fast) var(--ic-ease)}
.nav>div:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:block;padding:10px 20px;font-size:.9rem;font-weight:500;color:var(--ic-gray-500);transition:all var(--ic-t-fast)}
.dropdown a:hover{color:var(--ic-primary);background:var(--ic-gray-50)}
.header-cta{display:flex;align-items:center;gap:16px}
.hamburger{display:none;flex-direction:column;gap:5px;padding:6px}
.hamburger span{width:24px;height:2px;background:var(--ic-navy-900);border-radius:2px}

/* ---- 02 Hero Slider ---- */
.hero{padding:0;background:var(--ic-navy-900)}
.hero .frame{position:relative;height:630px;overflow:hidden}
.hero .slide .container{width:100%}
.hero .slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity var(--ic-t-slow) var(--ic-ease);display:flex;align-items:center}
.hero .slide.active{opacity:1;visibility:visible}
.hero .slide .bg{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat}
.hero .slide .bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,23,56,.9) 0%,rgba(6,23,56,.62) 55%,rgba(6,23,56,.2) 100%)}
.hero .deco-tl,.hero .deco-br{position:absolute;width:220px;height:220px;overflow:hidden;pointer-events:none;z-index:4}
.hero .deco-tl{top:0;left:0}
.hero .deco-br{bottom:0;right:0;transform:rotate(180deg)}
.hero .deco-tl::before,.hero .deco-tl::after,.hero .deco-br::before,.hero .deco-br::after{content:'';position:absolute;width:300%;height:34px;transform:rotate(-45deg);transform-origin:left top}
.hero .deco-tl::before,.hero .deco-br::before{background:var(--ic-primary);top:90px;left:-20px}
.hero .deco-tl::after,.hero .deco-br::after{background:var(--ic-primary-light);top:150px;left:-20px;opacity:.85}
.hero .content{position:relative;z-index:3;max-width:640px;padding:0;text-align:left;margin-right:auto}
.hero .content .ic-badge{margin-bottom:20px}
.hero h1{color:#fff;font-size:var(--ic-fs-hero);font-weight:800;margin-bottom:22px;text-align:left}
.hero p{color:#D4DEF0;max-width:540px;margin-bottom:36px;text-align:left}
.hero .actions{display:flex;align-items:center;justify-content:flex-start;gap:28px;flex-wrap:wrap}
.hero .watch{display:inline-flex;align-items:center;gap:16px;color:#fff;font-family:var(--ic-font-display);font-weight:600;font-size:.95rem}
.hero .watch u{text-underline-offset:5px}
.hero .dots-nav{position:absolute;left:50%;transform:translateX(-50%);bottom:28px;z-index:5;display:flex;gap:10px}
.hero .dots-nav button{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35);transition:all var(--ic-t-fast);padding:0}
.hero .dots-nav button.on{width:28px;border-radius:10px;background:var(--ic-primary-light)}

/* ---- 03 Logos Marquee ---- */
.logos{padding:48px 0;border-bottom:1px solid var(--ic-gray-200)}
.logos .marquee{overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 12%,#000 88%,transparent 100%)}
.logos .track{display:flex;align-items:center;gap:clamp(48px,7vw,96px);width:max-content;animation:ic-marquee 28s linear infinite;will-change:transform}
.logos .lg{font-family:var(--ic-font-display);font-weight:800;font-size:1.05rem;letter-spacing:1px;color:#AEBBCD;text-transform:uppercase;filter:grayscale(1);opacity:.8;transition:all var(--ic-t-fast);text-align:center;white-space:nowrap;flex:none}
.logos .lg small{display:block;font-weight:500;font-size:.62rem;letter-spacing:2px;color:#C3CDDC}
.logos .lg:hover{color:var(--ic-gray-500);opacity:1}
@keyframes ic-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---- 04 Sobre ---- */
.about .grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
.about h2{font-size:var(--ic-fs-h2);margin:16px 0 18px}
.ic-list{list-style:none;display:grid;gap:12px;margin:26px 0}
.ic-list li{display:flex;align-items:center;gap:12px;font-family:var(--ic-font-display);font-weight:600;color:var(--ic-navy-900)}
.ic-list .dot{width:26px;height:26px;flex:none;border-radius:50%;background:var(--ic-primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem}
.ic-stat{display:inline-flex;align-items:stretch;background:#fff;border:1px solid var(--ic-gray-200);border-radius:var(--ic-radius-card);overflow:hidden;box-shadow:var(--ic-shadow-card);margin:6px 0 26px}
.ic-stat .ic-iconbox{border-radius:0;width:84px;height:auto;font-size:1.7rem}
.ic-stat .val{padding:16px 26px}
.ic-stat .val b{display:block;font-family:var(--ic-font-display);font-size:1.8rem;font-weight:800;color:var(--ic-navy-900);line-height:1.1}
.ic-stat .val span{font-size:var(--ic-fs-small)}
.about .collage{position:relative;min-height:520px}
.about .collage img{position:absolute;border-radius:var(--ic-radius-card);object-fit:cover;box-shadow:var(--ic-shadow-card)}
.about .collage .ph1{top:0;right:0;width:62%;height:62%;z-index:1}
.about .collage .ph2{top:26%;left:0;width:52%;height:44%;z-index:2;border:6px solid #fff}
.about .collage .ph3{bottom:0;right:8%;width:46%;height:38%;z-index:3;border:6px solid #fff}
.about .collage .arc{position:absolute;top:-8px;left:16%;width:96px;height:96px;border-radius:50%;border:22px solid var(--ic-primary);border-color:var(--ic-primary) transparent transparent var(--ic-primary);transform:rotate(45deg);z-index:0}
.about .collage .dots{position:absolute;bottom:2%;right:-16px;width:120px;height:100px;background-image:radial-gradient(var(--ic-gray-200) 2.2px,transparent 2.2px);background-size:16px 16px;z-index:0}

/* ---- 05 Marcas ---- */
.brands{background:var(--ic-navy-900)}
.brands::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 2px,transparent 2px);background-size:22px 22px;pointer-events:none}
.brands .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}
.ic-card{background:#fff;border-radius:var(--ic-radius-card);padding:36px 30px;box-shadow:var(--ic-shadow-card);transition:transform var(--ic-t-med) var(--ic-ease),box-shadow var(--ic-t-med) var(--ic-ease);position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}
.ic-card:hover{transform:translateY(-8px);box-shadow:var(--ic-shadow-hover)}
.ic-card::before{content:'';position:absolute;top:-30px;right:-30px;width:120px;height:120px;background:repeating-linear-gradient(45deg,var(--ic-gray-100) 0 6px,transparent 6px 14px);opacity:.7;border-radius:0 0 0 100%}
.ic-card h3{font-size:var(--ic-fs-h3);margin:22px 0 12px}
.ic-card p{font-size:var(--ic-fs-small);margin-bottom:22px;flex:1}
.brand-logo{width:100%;height:120px;border-radius:10px;background:var(--ic-gray-50);border:1px solid var(--ic-gray-200);display:flex;align-items:center;justify-content:center;padding:18px;position:relative;z-index:1;overflow:hidden}
.brand-logo img{max-height:100%;max-width:100%;width:auto;object-fit:contain}
.brand-logo .wordmark{font-family:var(--ic-font-display);font-weight:800;font-size:1.4rem;letter-spacing:.5px}
/* UniHealth: logotipo oficial sobre o verde da marca (tile) */
.brand-logo-uh{background:#0E3D2A;border-color:#0E3D2A;padding:0}
.brand-logo-uh img{width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center}

/* ---- 06 CTA strip ---- */
.cta-strip{background:var(--ic-primary);padding:52px 0}
.cta-strip .container{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.cta-strip h3{color:#fff;font-size:clamp(1.4rem,2.4vw,1.75rem)}
.cta-strip .phone{display:flex;align-items:center;gap:14px;color:#fff}
.cta-strip .phone .ring{width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.45);display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem}
.cta-strip .phone div small{display:block;font-size:.78rem;color:#CFE0FF}
.cta-strip .phone div b{font-family:var(--ic-font-display);font-size:1.2rem}
.cta-strip .ic-btn{background:#fff;color:var(--ic-primary)}
.cta-strip .ic-btn:hover{background:var(--ic-navy-900);color:#fff}

/* ---- 07 Unidades ---- */
.units .head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;flex-wrap:wrap}
.units .head-row h2{font-size:var(--ic-fs-h2);margin-top:16px}
.units .nav-arrows{display:flex;gap:12px}
.units .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ic-project .thumb{border-radius:var(--ic-radius-card);overflow:hidden;aspect-ratio:4/3}
.ic-project .thumb img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter var(--ic-t-med),transform var(--ic-t-med)}
.ic-project:hover .thumb img{filter:grayscale(0);transform:scale(1.05)}
.ic-project .info{display:flex;justify-content:space-between;align-items:flex-end;padding-top:18px;gap:12px}
.ic-project .cat{color:var(--ic-primary);font-weight:600;font-size:var(--ic-fs-small);display:block;margin-bottom:4px}
.ic-project .info h3{font-size:1.25rem}
.ic-project .go{width:48px;height:48px;flex:none;border-radius:50%;border:1px solid var(--ic-gray-200);display:inline-flex;align-items:center;justify-content:center;color:var(--ic-primary);transition:all var(--ic-t-fast);background:#fff}
.ic-project:hover .go{background:var(--ic-primary);color:#fff;border-color:var(--ic-primary)}

/* ---- 08 Por que nós + FAQ ---- */
.why .grid{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
.why .visual{position:relative;display:flex;justify-content:center}
.why .visual .circle{width:min(440px,90%);aspect-ratio:1/1;border-radius:50%;overflow:hidden;box-shadow:var(--ic-shadow-card)}
.why .visual .circle img{width:100%;height:100%;object-fit:cover}
.why .visual .float{position:absolute;left:0;bottom:12%;background:#fff;border-radius:var(--ic-radius-card);box-shadow:var(--ic-shadow-hover);padding:20px 24px;text-align:center;transition:transform .3s var(--ic-ease-out),box-shadow .3s var(--ic-ease-out);will-change:transform}
.why .visual .float.floating{box-shadow:0 34px 64px rgba(6,23,56,.24)}
.why .visual .float .bars i{transition:transform .5s var(--ic-ease-out);transform-origin:bottom}
.why .visual .float.floating .bars i{transform:scaleY(1.08)}
.why .visual .float b{font-family:var(--ic-font-display);font-size:1.5rem;color:var(--ic-navy-900);display:block}
.why .visual .float span{font-size:.8rem}
.why .visual .float .bars{display:flex;gap:10px;justify-content:center;margin-top:12px;align-items:flex-end;height:44px}
.why .visual .float .bars i{width:6px;border-radius:4px;background:var(--ic-primary);display:block}
.why .visual .dots{position:absolute;top:8%;left:-8px;width:100px;height:120px;background-image:radial-gradient(var(--ic-gray-200) 2.2px,transparent 2.2px);background-size:16px 16px;z-index:-1}
.why h2{font-size:var(--ic-fs-h2);margin:16px 0 26px}
.ic-acc{display:grid;gap:12px}
.ic-acc-item{border-radius:var(--ic-radius-btn);overflow:hidden;background:var(--ic-gray-50)}
.ic-acc-item summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 24px;font-family:var(--ic-font-display);font-weight:700;color:var(--ic-navy-900);cursor:pointer;transition:all var(--ic-t-fast)}
.ic-acc-item summary::-webkit-details-marker{display:none}
.ic-acc-item summary .ch{transition:transform var(--ic-t-fast);font-size:.8rem;flex:none}
.ic-acc-item[open] summary{background:var(--ic-primary);color:#fff}
.ic-acc-item[open] summary .ch{transform:rotate(180deg)}
.ic-acc-item .acc-body{padding:20px 24px;background:#fff;border:1px solid var(--ic-gray-200);border-top:none;font-size:var(--ic-fs-small)}

/* ---- 09 Depoimentos (layout Gerow: citação + figura) ---- */
.testimonial{background:var(--ic-gray-50);padding-top:clamp(44px,5vw,66px);padding-bottom:clamp(44px,5vw,66px)}
.testimonial .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.q-side{position:relative;padding-bottom:8px}
.q-side .qmark{font-family:var(--ic-font-display);font-size:4.2rem;font-weight:800;color:transparent;-webkit-text-stroke:2px #C9D4E6;line-height:.6;margin-bottom:26px}
.q-item{display:none}
.q-item.active{display:block;animation:q-fade .55s var(--ic-ease)}
@keyframes q-fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.q-item h3{color:var(--ic-primary);font-size:var(--ic-fs-h3);margin-bottom:14px}
.q-item p{max-width:540px;text-wrap:balance}
.q-item .stars{color:var(--ic-star);letter-spacing:3px;margin:18px 0 24px}
.q-item .who{display:flex;align-items:center;gap:14px}
.q-item .who img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}
.q-item .who .nm{border-left:3px solid var(--ic-primary);padding-left:14px}
.q-item .who b{font-family:var(--ic-font-display);color:var(--ic-navy-900);display:block}
.q-item .who span{font-size:.82rem}
.q-arrows{position:absolute;right:0;bottom:12px;display:flex;gap:12px}
.q-arrows .ic-btn-nav{background:transparent;border:1px solid var(--ic-gray-200);color:var(--ic-navy-900)}
.q-arrows .ic-btn-nav:hover{background:var(--ic-primary);border-color:var(--ic-primary);color:#fff}
.testimonial .figure{position:relative;display:flex;justify-content:center;min-height:0}
.testimonial .figure img{width:min(320px,100%);position:relative;z-index:2;object-fit:cover;object-position:top;border-radius:var(--ic-radius-card)}
.testimonial .figure .arc{position:absolute;bottom:-40px;left:8%;width:200px;height:200px;border-radius:50%;border:52px solid var(--ic-primary);border-color:transparent transparent var(--ic-primary) var(--ic-primary);transform:rotate(-45deg);z-index:1}
.testimonial .figure .arc.r{left:auto;right:0;bottom:6%;width:150px;height:150px;border-width:40px;transform:rotate(-90deg);z-index:3;opacity:.95}
.testimonial .figure .dots{position:absolute;top:16%;left:6%;width:110px;height:100px;background-image:radial-gradient(#B9C4D6 2.2px,transparent 2.2px);background-size:16px 16px;z-index:1}
@media(max-width:1080px){
  .q-arrows{position:static;margin-top:26px}
  .testimonial .figure{min-height:0;margin-top:12px}
}

/* ---- 10 Presidente ---- */
.president{background:var(--ic-white)}
.president .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
.president .qmark{font-family:var(--ic-font-display);font-size:4.2rem;font-weight:800;color:transparent;-webkit-text-stroke:2px #C9D4E6;line-height:.6;margin-bottom:34px}
.president blockquote{font-family:var(--ic-font-display);font-weight:600;font-size:clamp(1.3rem,2.3vw,1.75rem);line-height:1.5;color:var(--ic-navy-900);max-width:580px;margin-bottom:34px}
.president .who{display:flex;align-items:center;gap:16px}
.president .who img{width:60px;height:60px;border-radius:50%;object-fit:cover;object-position:top;flex:none}
.president .who b{font-family:var(--ic-font-display);color:var(--ic-navy-900);display:block}
.president .who span{font-size:.85rem}
.president .p-visual{position:relative;min-height:440px}
.president .ring{position:absolute;left:0;bottom:-70px;width:340px;height:340px;border-radius:50%;border:72px solid var(--ic-primary)}
.president .p-card{position:absolute;top:0;right:0;width:min(360px,100%);background:#fff;border-radius:var(--ic-radius-card);box-shadow:var(--ic-shadow-hover);padding:34px 32px;z-index:2}
.president .p-card .num{font-family:var(--ic-font-display);font-weight:800;font-size:2.6rem;color:var(--ic-primary);line-height:1;margin-bottom:14px}
.president .p-card h3{font-size:1.25rem;margin-bottom:12px}
.president .p-card p{font-size:var(--ic-fs-small)}
@media(max-width:1080px){
  .president .grid{grid-template-columns:1fr}
  .president .p-visual{min-height:0;display:flex;justify-content:center;padding-bottom:24px}
  .president .p-card{position:relative}
  .president .ring{width:240px;height:240px;border-width:52px;bottom:-40px}
}

/* ---- 11 Contador (Presença, escala e resultados) ---- */
.counter{background:var(--ic-navy-900)}
.counter::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 2px,transparent 2px);background-size:26px 26px;pointer-events:none}
.counter .deco{position:absolute;top:0;left:0;width:200px;height:200px;overflow:hidden;pointer-events:none;opacity:.35}
.counter .deco::before,.counter .deco::after{content:'';position:absolute;width:300%;height:30px;transform:rotate(-45deg);transform-origin:left top}
.counter .deco::before{background:var(--ic-primary);top:80px;left:-20px}
.counter .deco::after{background:var(--ic-primary-light);top:134px;left:-20px;opacity:.8}
.counter .grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:center;position:relative}
.counter .big{display:flex;align-items:center;justify-content:center;gap:20px;position:relative;padding:48px 0}
.counter .big::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.14) 2px,transparent 2px);background-size:18px 18px;-webkit-mask-image:radial-gradient(closest-side,#000 40%,transparent 100%);mask-image:radial-gradient(closest-side,#000 40%,transparent 100%);pointer-events:none}
.counter .big .num{font-family:var(--ic-font-display);font-weight:800;font-size:clamp(5.5rem,11vw,8.5rem);line-height:.85;color:#fff;position:relative}
.counter .big .lbl{font-family:var(--ic-font-display);font-weight:700;font-size:1.3rem;line-height:1.35;color:#fff;max-width:210px;position:relative}
.counter h2{color:#fff;font-size:var(--ic-fs-h2);margin-bottom:16px}
.counter p{color:var(--ic-gray-400);margin-bottom:36px}
.ic-progress{margin-bottom:28px}
.ic-progress .head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}
.ic-progress .head b{font-family:var(--ic-font-display);color:#fff;font-weight:600}
.ic-progress .pct{background:var(--ic-primary);color:#fff;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:4px;position:relative}
.ic-progress .pct::after{content:'';position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:var(--ic-primary);border-bottom:none}
.ic-progress .track{height:7px;border-radius:10px;background:rgba(255,255,255,.18)}
.ic-progress .fill{height:100%;border-radius:10px;background:var(--ic-primary);width:0;transition:width 1.4s var(--ic-ease)}
.counter .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:46px}
.counter .stat-row .s{border-top:1px solid rgba(255,255,255,.22);padding-top:20px}
.counter .stat-row .s b{display:block;font-family:var(--ic-font-display);font-weight:800;font-size:1.6rem;color:#fff;margin-bottom:6px}
.counter .stat-row .s span{font-size:.85rem;color:var(--ic-gray-400)}
@media(max-width:640px){.counter .stat-row{grid-template-columns:1fr}}

/* ---- 12 Blog ---- */
.blog .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ic-post{background:#fff;border-radius:var(--ic-radius-card);box-shadow:var(--ic-shadow-card);overflow:hidden;transition:transform var(--ic-t-med),box-shadow var(--ic-t-med)}
.ic-post:hover{transform:translateY(-8px);box-shadow:var(--ic-shadow-hover)}
.ic-post .cover{position:relative;aspect-ratio:16/10;overflow:hidden}
.ic-post .cover img{width:100%;height:100%;object-fit:cover}
.ic-post .cover .ic-badge-solid{position:absolute;top:16px;left:16px}
.ic-post .body{padding:26px 28px}
.ic-post h3{font-size:1.2rem;margin-bottom:10px;transition:color var(--ic-t-fast)}
.ic-post:hover h3{color:var(--ic-primary)}
.ic-post p{font-size:var(--ic-fs-small);margin-bottom:18px}
.ic-post .meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ic-gray-200);padding-top:16px;font-size:.8rem}
.ic-post .meta .who{display:flex;align-items:center;gap:8px;font-weight:600;color:var(--ic-navy-900)}
.ic-post .meta .who i{width:30px;height:30px;border-radius:50%;background:var(--ic-gray-100);display:inline-block}
/* Notícia: categoria (esq.) + data com calendário (dir.), no lugar do autor */
.ic-post .meta .tax{font-family:var(--ic-font-display);font-weight:700;color:var(--ic-primary)}
.ic-post .meta .date{display:inline-flex;align-items:center;gap:7px;color:var(--ic-gray-500);font-variant-numeric:tabular-nums}
.ic-post .meta .date svg{width:15px;height:15px;fill:var(--ic-primary);flex:none}
/* Card padronizado: imagem com leve zoom no hover, título e texto em até 2 linhas */
.blog a.ic-post{color:inherit;text-decoration:none;cursor:pointer;display:block}
.blog .ic-post .cover img{transition:transform .55s var(--ic-ease-out)}
.blog .ic-post:hover .cover img{transform:scale(1.04)}
.blog .ic-post h3{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.blog .ic-post .body p{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.1em}

/* ---- 13 Footer ---- */
.footer{background:var(--ic-navy-800);color:var(--ic-gray-400);padding-top:var(--ic-sp-section)}
.footer h4{color:#fff;font-size:1.02rem;margin-bottom:20px;letter-spacing:.2px}
.footer .foot-top{display:grid;grid-template-columns:1.5fr 1fr 1.15fr 1.25fr;gap:clamp(28px,3.4vw,56px);align-items:start;padding-bottom:50px}
.footer ul{list-style:none;display:grid;gap:11px;font-size:.92rem}
.footer ul a{color:var(--ic-gray-400);transition:color var(--ic-t-fast)}
.footer ul a:hover{color:#fff}
/* Coluna da marca + redes do ICDS */
.footer .foot-brand .logo img{height:42px}
.footer .foot-desc{margin-top:18px;font-size:.9rem;line-height:1.65;max-width:36ch}
.footer .foot-social{margin-top:26px}
.footer .foot-social-label{display:block;font-family:var(--ic-font-display);font-weight:600;color:#fff;font-size:.85rem;margin-bottom:12px}
.footer .fs-icons{display:flex;gap:12px}
.footer .fs-icons a{width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;transition:transform var(--ic-t-fast),background var(--ic-t-fast),border-color var(--ic-t-fast)}
.footer .fs-icons a svg{width:19px;height:19px;fill:#C3CDDC;transition:fill var(--ic-t-fast)}
.footer .fs-icons a:hover{background:var(--ic-primary);border-color:var(--ic-primary);transform:translateY(-2px)}
.footer .fs-icons a:hover svg{fill:#fff}
/* Newsletter */
.footer .foot-news p{font-size:.9rem;line-height:1.6;margin-bottom:16px}
.footer .foot-news form{display:flex;gap:8px;max-width:320px}
.footer .foot-news input{flex:1;min-width:0;padding:13px 16px;border-radius:var(--ic-radius-btn);border:1px solid var(--ic-navy-700);background:rgba(255,255,255,.05);color:#fff;font-family:var(--ic-font-body);font-size:.88rem}
.footer .foot-news input:focus{outline:none;border-color:var(--ic-primary)}
.footer .foot-news button{flex:none;width:50px;background:var(--ic-primary);color:#fff;border-radius:var(--ic-radius-btn);font-size:1.05rem;transition:background var(--ic-t-fast)}
.footer .foot-news button:hover{background:var(--ic-primary-hover)}
.footer .foot-collab{margin-top:18px;display:inline-flex}
/* Redes sociais das marcas */
.footer .foot-marcas{border-top:1px solid rgba(255,255,255,.08);padding:28px 0;display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.footer .fm-label{font-family:var(--ic-font-display);font-weight:700;color:#fff;font-size:.95rem;flex:none}
.footer .fm-row{display:flex;gap:12px;flex-wrap:wrap}
.footer .fm-chip{display:inline-flex;align-items:center;gap:10px;padding:9px 15px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);transition:transform var(--ic-t-fast),background var(--ic-t-fast),border-color var(--ic-t-fast)}
.footer .fm-chip .mdot{width:9px;height:9px;border-radius:50%;flex:none}
.footer .fm-name{display:flex;flex-direction:column;line-height:1.15;font-family:var(--ic-font-display);font-weight:600;color:#fff;font-size:.85rem}
.footer .fm-name small{font-weight:500;color:var(--ic-gray-400);font-size:.72rem;margin-top:2px}
.footer .fm-ig{width:16px;height:16px;fill:var(--ic-gray-400);flex:none;transition:fill var(--ic-t-fast)}
.footer .fm-chip:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);transform:translateY(-2px)}
.footer .fm-chip:hover .fm-ig{fill:#fff}
/* Barra inferior */
.footer .bar{background:var(--ic-navy-900);border-top:1px solid rgba(255,255,255,.06);padding:22px 0}
.footer .bar .container{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.82rem}
.footer .bar .bar-copy{color:var(--ic-gray-400)}
.footer .bar .bar-mail{color:var(--ic-gray-400);transition:color var(--ic-t-fast)}
.footer .bar .bar-mail:hover{color:#fff}
.to-top{position:fixed;bottom:92px;right:24px;width:44px;height:44px;border-radius:var(--ic-radius-btn);background:var(--ic-primary);color:#fff;box-shadow:var(--ic-shadow-btn);z-index:80;opacity:0;visibility:hidden;transition:all var(--ic-t-fast);font-size:1rem}
/* Acessibilidade: barra flutuante + alto contraste + Libras */
.a11y-bar{position:fixed;left:20px;bottom:20px;z-index:95;font-family:var(--ic-font-display)}
.a11y-toggle{width:48px;height:48px;border-radius:50%;background:var(--ic-primary);color:#fff;box-shadow:var(--ic-shadow-btn);display:inline-flex;align-items:center;justify-content:center;transition:transform var(--ic-t-fast)}
.a11y-toggle:hover{transform:translateY(-2px)}
.a11y-toggle svg{width:24px;height:24px;fill:#fff}
.a11y-menu{position:absolute;left:0;bottom:58px;background:#fff;border-radius:var(--ic-radius-card);box-shadow:var(--ic-shadow-hover);padding:8px;display:grid;gap:2px;min-width:212px}
.a11y-menu[hidden]{display:none}
.a11y-item{display:block;width:100%;text-align:left;padding:11px 14px;border-radius:8px;font-size:.9rem;font-weight:600;color:var(--ic-navy-900);background:none;text-decoration:none;transition:background var(--ic-t-fast),color var(--ic-t-fast)}
.a11y-item:hover{background:var(--ic-gray-50);color:var(--ic-primary)}
.a11y-item[aria-pressed="true"]{background:var(--ic-primary-soft);color:var(--ic-primary)}
/* Modo alto contraste (negativo); reinverte midia para manter fotos naturais */
html.hc{filter:invert(1) hue-rotate(180deg);background:#fff}
html.hc img,html.hc video,html.hc iframe,html.hc [style*="background-image"],html.hc .hero .bg,html.hc [vw]{filter:invert(1) hue-rotate(180deg)}
.to-top.show{opacity:1;visibility:visible}

/* ---- Off-canvas mobile ---- */
.offcanvas{position:fixed;top:0;right:-320px;width:300px;height:100vh;background:#fff;z-index:120;box-shadow:-10px 0 40px rgba(6,23,56,.2);transition:right var(--ic-t-med) var(--ic-ease);padding:28px;overflow-y:auto}
.offcanvas.open{right:0}
.offcanvas .close{font-size:1.4rem;color:var(--ic-navy-900);margin-bottom:24px}
.offcanvas nav{display:grid;gap:4px}
.offcanvas nav a{font-family:var(--ic-font-display);font-weight:600;color:var(--ic-navy-900);padding:12px 8px;border-bottom:1px solid var(--ic-gray-200)}
.offcanvas nav a.sub{padding-left:24px;font-weight:500;color:var(--ic-gray-500);font-size:.92rem}
.overlay{position:fixed;inset:0;background:rgba(6,23,56,.5);z-index:110;opacity:0;visibility:hidden;transition:all var(--ic-t-fast)}
.overlay.show{opacity:1;visibility:visible}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(max-width:1080px){
  .brands .cards,.units .cards,.blog .cards{grid-template-columns:repeat(2,1fr)}

  .about .grid,.why .grid,.counter .grid{grid-template-columns:1fr}

  .footer .foot-top{grid-template-columns:1fr 1fr}
  .footer .foot-brand{grid-column:1 / -1}
}
@media(max-width:820px){.nav,.header-cta .ic-btn{display:none}.hamburger{display:flex}}
@media(max-width:640px){
  .topbar .info span:nth-child(2){display:none}
  .brands .cards,.units .cards,.blog .cards,.footer .foot-top{grid-template-columns:1fr}
  .footer .foot-marcas{flex-direction:column;align-items:flex-start;gap:16px}
  .footer .fm-row{width:100%}
  .footer .bar .container{justify-content:flex-start}
  .hero .frame{height:560px}
  .about .collage{min-height:420px}
}

/* ============================================================
   ADICOES DO REFACTOR, logotipo oficial e ajustes
   ============================================================ */
/* Logo oficial no header (fundo claro) */
.logo img{height:46px;width:auto;display:block}
@media(max-width:640px){.logo img{height:38px}}

/* ============================================================
   ADICOES, Area do Colaborador (topbar + footer), shell global
   ============================================================ */
.topbar .right{display:flex;align-items:center;gap:16px}
.tb-collab{display:inline-flex;align-items:center;gap:7px;font-family:var(--ic-font-display);font-weight:600;font-size:.8rem;color:var(--ic-primary);padding-left:16px;border-left:1px solid var(--ic-gray-200)}
.tb-collab svg{width:13px;height:13px;fill:var(--ic-primary)}
.tb-collab:hover{color:var(--ic-primary-hover)}
@media(max-width:640px){.tb-collab{display:none}}

/* ============================================================
   ADICOES, menu utilitario no topbar + pre-footer com selo LGPD
   ============================================================ */
.topbar .tb-menu{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.topbar .tb-menu a{font-family:var(--ic-font-display);font-weight:600;color:var(--ic-navy-900);transition:color var(--ic-t-fast)}
.topbar .tb-menu a:hover{color:var(--ic-primary)}
@media(max-width:700px){.topbar .tb-menu{gap:14px;font-size:.76rem}}

.prefooter{background:var(--ic-gray-50);border-top:1px solid var(--ic-gray-200)}
.prefooter .container{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-top:22px;padding-bottom:22px}
.foot-util{display:flex;gap:26px;flex-wrap:wrap;align-items:center}
.foot-util.left{justify-self:end}
.foot-util.right{justify-self:start}
.foot-util a{font-family:var(--ic-font-display);font-weight:600;font-size:.85rem;color:var(--ic-navy-900);transition:color var(--ic-t-fast)}
.foot-util a:hover{color:var(--ic-primary)}
.selo-lgpd{justify-self:center;display:inline-flex;flex:none;background:#fff;border:1px solid var(--ic-gray-200);border-radius:16px;padding:12px 22px;box-shadow:var(--ic-shadow-card)}
.selo-lgpd img{height:60px;width:auto;display:block;border-radius:6px}
@media(max-width:760px){.prefooter .container{grid-template-columns:1fr;justify-items:center;text-align:center;gap:18px}.foot-util.left,.foot-util.right{justify-self:center}.foot-util{justify-content:center}}

/* ============================================================
   Barras diagonais (motivo do logo) substituem os arcos/anéis
   das seções da home (about, depoimentos, presidente) + parallax
   ============================================================ */
.about .collage .arc,
.testimonial .figure .arc{border:0;border-radius:0;background:none;transform:none;overflow:hidden;will-change:transform}
.about .collage .arc::before,.about .collage .arc::after,
.testimonial .figure .arc::before,.testimonial .figure .arc::after{content:'';position:absolute;width:300%;transform:rotate(-45deg);transform-origin:left top}
.about .collage .arc{width:150px;height:150px;top:-14px;left:12%}
.about .collage .arc::before{background:var(--ic-primary);height:24px;top:52px;left:-18px}
.about .collage .arc::after{background:var(--ic-primary-light);height:24px;top:92px;left:-18px;opacity:.9}
.testimonial .figure .arc{width:230px;height:230px;left:-34px;bottom:-34px;z-index:1}
.testimonial .figure .arc::before{background:var(--ic-primary);height:32px;top:112px;left:-26px}
.testimonial .figure .arc::after{background:var(--ic-primary-light);height:32px;top:168px;left:-26px;opacity:.9}
.testimonial .figure .arc.r{left:auto;right:-34px;top:-34px;bottom:auto;width:200px;height:200px;z-index:3;opacity:1}
.testimonial .figure .arc.r::before{top:58px}
.testimonial .figure .arc.r::after{top:114px}
@media(prefers-reduced-motion:reduce){.about .collage .arc,.testimonial .figure .arc{transform:none!important}}


/* ============================================================
   Gestos tácteis (estilo whileTap do Motion): "push" no clique
   ============================================================ */
.ic-btn:active{transform:scale(.97)}
.ic-btn-nav:active,.ic-btn-play:active{transform:scale(.9)}
@media(prefers-reduced-motion:reduce){.ic-btn:active,.ic-btn-nav:active,.ic-btn-play:active{transform:none}}

/* ============================================================
   Reveal (motion) vence a transição própria dos componentes:
   fade+slide suave e escalonado; o hover dos cards segue rápido
   ============================================================ */
.reveal.reveal{transition:opacity .7s var(--ic-ease-out),transform .7s var(--ic-ease-out)}
.ic-card:hover,.value-card:hover,.doc-card:hover,.doc-split:hover,a.ic-post:hover,.ic-post:hover,.ic-project:hover{transition:transform var(--ic-t-med) var(--ic-ease),box-shadow var(--ic-t-med) var(--ic-ease)}

/* ============================================================
   Counter (index): selos circulares + altura reduzida ~25%
   ============================================================ */
@property --p{syntax:'<number>';inherits:false;initial-value:0}
.counter{padding-top:clamp(38px,4.5vw,52px);padding-bottom:clamp(38px,4.5vw,52px)}
.counter h2{margin-bottom:12px}
.counter p{margin-bottom:22px}
.counter .stat-row{margin-top:26px}
/* dois selos lado a lado */
.counter .seals{display:flex;gap:36px;flex-wrap:wrap;align-items:center}
.counter .seal{display:flex;align-items:center;gap:16px}
.counter .seal .ring{--p:0;width:96px;height:96px;flex:none;border-radius:50%;position:relative;display:grid;place-items:center;background:conic-gradient(var(--ic-primary) calc(var(--p)*1%),rgba(255,255,255,.14) 0);transition:--p 1.4s var(--ic-ease-out)}
.counter .seal .ring::before{content:'';position:absolute;inset:9px;border-radius:50%;background:var(--ic-navy-900)}
.counter .seal .ring .v,.counter .seal .ring .ic{grid-area:1/1;position:relative;transition:opacity .45s var(--ic-ease-out),transform .45s var(--ic-ease-out)}
.counter .seal .ring .v{font-family:var(--ic-font-display);font-weight:800;font-size:1.35rem;color:#fff}
.counter .seal .ring .ic{display:inline-flex;opacity:0;transform:scale(.5)}
.counter .seal .ring .ic svg{width:38px;height:38px;fill:#fff}
.counter .seal.done .ring .v{opacity:0;transform:scale(.5)}
.counter .seal.done .ring .ic{opacity:1;transform:scale(1)}
.counter .seal .cap{font-family:var(--ic-font-display);font-weight:600;color:#fff;font-size:1rem;line-height:1.3;max-width:150px}
@media(max-width:640px){.counter .seals{gap:24px}}

/* ============================================================
   Carrossel de notícias (home) + espaçamento entre seções
   ============================================================ */
.news-carousel{position:relative;display:flex;align-items:center;gap:14px}
.news-carousel .nc-viewport{overflow:hidden;flex:1}
.news-carousel .nc-track{display:flex;gap:24px;transition:transform .55s var(--ic-ease-out);--vis:3}
.news-carousel .nc-track>.ic-post{flex:0 0 calc((100% - (var(--vis) - 1)*24px)/var(--vis));min-width:0}
.news-carousel .nc-arrow{flex:none}
.nc-actions{text-align:center;margin-top:44px}
@media(max-width:900px){.news-carousel .nc-track{--vis:2}}
@media(max-width:600px){.news-carousel{gap:8px}.news-carousel .nc-track{--vis:1}}
/* -100px de espaçamento entre "Por que o ICDS" (.why) e "Presença" (#unidades) */
#unidades{margin-top:-100px}

/* Pontos de cor das marcas no dropdown "Marcas" */
.dropdown a .mdot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:9px;vertical-align:middle}
.mdot.uh{background:var(--ic-primary)}
.mdot.cc{background:#2F7A5C}
.mdot.cs{background:#BE7C3A}

/* Icone dentro de botao (ex.: chat no Fale Conosco) */
.ic-btn .btn-ico{width:16px;height:16px;fill:currentColor;flex:none;margin-right:6px;vertical-align:-3px}

/* ---- Presenca: carrossel de unidades ---- */
.units .nc-viewport{overflow:hidden}
.units .nc-track{display:flex;gap:24px;transition:transform .55s var(--ic-ease-out);--vis:3}
.units .nc-track>.ic-project{flex:0 0 calc((100% - (var(--vis) - 1)*24px)/var(--vis));min-width:0}
.units a.ic-project{color:inherit;text-decoration:none;cursor:pointer}
@media(max-width:900px){.units .nc-track{--vis:2}}
@media(max-width:600px){.units .nc-track{--vis:1}}
