:root{--navy:#17336b;--navy2:#0d244e;--blue:#21477f;--orange:#ff5a20;--ink:#15213a;--muted:#637089;--bg:#f5f7fb;--line:#dfe5ee;--white:#fff;--max:1180px;--shadow:0 20px 60px rgba(10,32,70,.12)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:#fff;line-height:1.65}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 48px));margin:auto}.site-header{position:fixed;z-index:1000;top:0;left:0;right:0;height:78px;display:flex;align-items:center;padding:0 3vw;transition:.3s;background:linear-gradient(180deg,rgba(3,20,45,.65),transparent)}.site-header.scrolled{background:rgba(13,36,78,.97);box-shadow:0 8px 30px rgba(0,0,0,.15);backdrop-filter:blur(10px)}.brand{width:126px;display:block}.brand img{width:100%;height:44px;object-fit:contain}.main-nav{margin-left:auto;display:flex;gap:25px;align-items:center}.main-nav a{font-size:.83rem;font-weight:700;color:#fff;opacity:.92;position:relative}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--orange);transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{right:0}.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;padding:10px}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}.hero{min-height:100vh;position:relative;display:flex;align-items:center;background:url('assets/img/hero-ocean.png') center 48%/cover no-repeat;color:#fff;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,20,46,.88) 0%,rgba(5,25,54,.62) 48%,rgba(4,22,48,.2) 100%)}.hero-content{position:relative;z-index:2;width:min(790px,calc(100% - 48px));margin-left:max(24px,calc((100vw - var(--max))/2));padding-top:30px}.hero-logo{width:min(470px,78vw);margin-bottom:28px}.hero h1{font:800 clamp(2.35rem,5.2vw,5rem)/1.02 Montserrat,sans-serif;margin:0 0 18px;letter-spacing:-.045em}.hero p{font-size:clamp(1.05rem,1.7vw,1.35rem);max-width:720px;margin:0 0 32px;color:rgba(255,255,255,.88)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 21px;border-radius:4px;font-weight:800;font-size:.9rem;transition:.2s}.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,90,32,.28)}.btn-ghost{border:1px solid rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.06)}.btn-ghost:hover{background:#fff;color:var(--navy)}.scroll-cue{position:absolute;z-index:2;bottom:24px;left:50%;font-size:1.5rem;color:#fff;animation:bob 1.5s infinite}@keyframes bob{50%{transform:translateY(8px)}}.section{padding:110px 0}.two-col{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px}.eyebrow{display:inline-block;color:var(--orange);font-weight:800;font-size:.75rem;letter-spacing:.17em;text-transform:uppercase;margin-bottom:14px}.eyebrow.light{color:#ff875c}.section h2,.intro h2{font:800 clamp(2rem,3.6vw,3.55rem)/1.08 Montserrat,sans-serif;letter-spacing:-.035em;margin:0}.copy p,.partners p,.location p,.section-heading p{color:var(--muted);font-size:1.04rem}.copy p:first-child{margin-top:0}.field-band{background:var(--bg)}.section-heading{max-width:790px;margin-bottom:54px}.section-heading h2{margin-bottom:18px}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.cap-card{background:#fff;border:1px solid var(--line);padding:30px 25px;min-height:270px;transition:.25s}.cap-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.cap-card img{width:52px;height:52px;margin-bottom:30px}.cap-card h3{font:700 1.08rem Montserrat,sans-serif;margin:0 0 10px}.cap-card p{font-size:.9rem;color:var(--muted);margin:0}.projects{background:#fff}.project-group{margin-top:70px}.group-title{display:flex;align-items:center;gap:22px;margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:18px}.group-title>span{font:800 2.3rem Montserrat;color:var(--orange)}.group-title small{font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.group-title h3{margin:0;font:800 1.65rem Montserrat}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{border:1px solid var(--line);background:#fff;min-height:340px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s;position:relative;overflow:hidden}.project-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:100%;background:var(--orange);transition:.25s}.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.project-card:hover:before{right:0}.project-card>img{width:100%;height:86px;object-fit:contain;object-position:left center;margin-bottom:32px}.project-card h4{font:800 1.18rem Montserrat;margin:0 0 9px}.project-card p{margin:0 0 18px;color:var(--muted);font-size:.88rem}.project-card span{color:var(--blue);font-weight:800;font-size:.78rem}.project-card.legacy{background:#f9fafc}.visual-break{padding:0}.visual-grid{display:grid;grid-template-columns:repeat(4,1fr)}.visual-grid figure{margin:0;height:380px;position:relative;overflow:hidden;background:#0e254d}.visual-grid img{width:100%;height:100%;object-fit:cover;transition:.5s}.visual-grid figure:hover img{transform:scale(1.05);opacity:.8}.visual-grid figcaption{position:absolute;left:20px;bottom:18px;color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.partners{background:var(--navy);color:#fff}.partners .two-col{align-items:center}.partners p{color:rgba(255,255,255,.72)}.institution-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.institution-grid>div{height:110px;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:15px}.institution-grid img{max-height:74px;max-width:100%;object-fit:contain}.institution-grid .dark-logo{background:#213b72}.location{background:#eef2f8}.location-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:center}.map-card{border:10px solid #fff;box-shadow:var(--shadow)}.map-card img{width:100%}.labs{background:#fff}.lab-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.lab-grid a{border:1px solid var(--line);padding:24px;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;font-weight:700;font-size:.82rem;transition:.25s}.lab-grid a:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.lab-grid img{height:90px;max-width:180px;object-fit:contain}.research{background:var(--bg)}.research-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.research-card{background:#fff;border-top:3px solid var(--orange);padding:28px 24px;min-height:310px}.research-card img{height:48px;width:48px}.research-card>span{display:block;margin:26px 0 8px;color:var(--orange);font-weight:800}.research-card h3{font:800 1.06rem/1.3 Montserrat;margin:0 0 10px}.research-card p{color:var(--muted);font-size:.88rem}.contact{background:linear-gradient(120deg,#102b5d,#1e417b);color:#fff}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:75px;align-items:center}.contact h2{max-width:720px}.contact p{color:rgba(255,255,255,.74)}.contact-card{border:1px solid rgba(255,255,255,.22);padding:32px;background:rgba(255,255,255,.06)}.contact-card img{width:180px;margin-bottom:24px}.contact-card a{display:inline-block;color:#fff;font-weight:800;border-bottom:2px solid var(--orange);margin-top:10px}.site-footer{background:#071a3a;color:rgba(255,255,255,.7);padding:34px 0}.site-footer .container{display:flex;gap:20px;align-items:center}.site-footer img{width:105px}.site-footer p{font-size:.78rem;margin:0}.site-footer .version{margin-left:auto}.back-to-top{position:fixed;right:22px;bottom:22px;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--orange);color:#fff;font-weight:900;z-index:900;opacity:0;pointer-events:none;transform:translateY(10px);transition:.25s;box-shadow:0 8px 22px rgba(0,0,0,.2)}.back-to-top.show{opacity:1;pointer-events:auto;transform:none}.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.main-nav{gap:15px}.main-nav a{font-size:.76rem}.project-grid{grid-template-columns:repeat(2,1fr)}.capability-grid,.research-grid{grid-template-columns:repeat(2,1fr)}.visual-grid{grid-template-columns:repeat(2,1fr)}.lab-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.site-header{height:70px;padding:0 18px;background:rgba(13,36,78,.96)}.brand{width:115px}.menu-toggle{display:block}.main-nav{position:absolute;top:70px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;gap:0;background:rgba(13,36,78,.99);padding:12px 20px 22px;box-shadow:0 18px 30px rgba(0,0,0,.2)}.main-nav.open{display:flex}.main-nav a{font-size:.9rem;padding:13px 3px;border-bottom:1px solid rgba(255,255,255,.1)}.main-nav a:after{display:none}.hero{min-height:92vh}.hero-content{margin:auto;width:calc(100% - 40px);padding-top:65px}.hero-logo{width:340px}.section{padding:80px 0}.container{width:min(var(--max),calc(100% - 36px))}.two-col,.location-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.project-grid{grid-template-columns:1fr}.institution-grid{grid-template-columns:repeat(2,1fr)}.site-footer .container{flex-wrap:wrap}.site-footer .version{margin-left:0;width:100%}}
@media(max-width:560px){.hero h1{font-size:2.5rem}.hero-actions{flex-direction:column;align-items:stretch}.capability-grid,.research-grid,.lab-grid,.visual-grid{grid-template-columns:1fr}.visual-grid figure{height:320px}.institution-grid{grid-template-columns:1fr 1fr}.project-card{min-height:310px}.site-footer .container{align-items:flex-start}.site-footer p{width:calc(100% - 130px)}}

/* v0.1.1 — ajustes incrementais */
.cap-card{min-height:370px}.cap-card img{width:156px;height:156px;margin-bottom:24px}.research-card{min-height:410px}.research-card img{width:144px;height:144px}.project-card>img.project-logo-large{height:172px;margin-top:-20px;margin-bottom:10px}.institution-grid>a{height:110px;background:#fff;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:15px;position:relative;transition:.25s}.institution-grid>a:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.22)}.institution-grid>a img{max-height:74px;max-width:100%;object-fit:contain}.institution-grid>a.dark-logo{background:#fff}.partner-link-mark{position:absolute;right:9px;top:7px;color:var(--orange);font-weight:900;font-size:.9rem;opacity:.65}.institution-grid>a:hover .partner-link-mark{opacity:1}.interactive-map-layout{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:stretch}.map-partner-list{display:grid;grid-template-columns:1fr;gap:8px}.map-partner{width:100%;min-height:72px;border:1px solid var(--line);background:#fff;padding:10px 12px;display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer;font:inherit;color:var(--ink);transition:.2s;border-radius:4px}.map-partner:hover{transform:translateX(3px);box-shadow:0 8px 20px rgba(10,32,70,.08)}.map-partner.active{border-color:var(--orange);box-shadow:inset 4px 0 0 var(--orange)}.map-partner img{width:58px;height:44px;object-fit:contain;flex:0 0 58px}.map-partner.dark-partner img{background:#fff;border-radius:3px;padding:0}.map-partner span{display:flex;flex-direction:column;line-height:1.25}.map-partner strong{font:700 .83rem Montserrat,sans-serif}.map-partner small{margin-top:4px;color:var(--muted);font-size:.73rem}.interactive-map-card{border:10px solid #fff;box-shadow:var(--shadow);min-height:630px;display:flex;flex-direction:column;background:#fff}.interactive-map-card iframe{border:0;width:100%;flex:1;min-height:560px}.map-caption{min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 14px;font-size:.78rem;font-weight:700;color:var(--ink)}.map-caption a{color:var(--blue);white-space:nowrap}.map-caption a:hover{color:var(--orange)}
@media(max-width:1050px){.cap-card img{width:132px;height:132px}.research-card img{width:120px;height:120px}.interactive-map-layout{grid-template-columns:280px 1fr}}
@media(max-width:820px){.interactive-map-layout{grid-template-columns:1fr}.map-partner-list{grid-template-columns:repeat(2,1fr)}.interactive-map-card{min-height:520px}.interactive-map-card iframe{min-height:460px}.project-card>img.project-logo-large{height:150px}}
@media(max-width:560px){.cap-card img{width:130px;height:130px}.research-card img{width:120px;height:120px}.map-partner-list{grid-template-columns:1fr}.map-caption{align-items:flex-start;flex-direction:column}.interactive-map-card iframe{min-height:390px}}
\n/* v0.1.3 — logo maior, oceano dinâmico e mapa contínuo */
.site-header{height:86px}.brand{width:252px}.brand img{height:62px}.main-nav{gap:20px}
.hero{background:none;isolation:isolate}.hero::before{content:"";position:absolute;inset:-5%;z-index:-3;background:url('assets/img/hero-ocean.png') center 48%/cover no-repeat;animation:coreOceanDrift 18s ease-in-out infinite alternate;will-change:transform,background-position}.hero::after{content:"";position:absolute;inset:-12%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 22% 72%,rgba(255,255,255,.13) 0 2%,transparent 9%),radial-gradient(ellipse at 68% 48%,rgba(91,184,221,.14) 0 2%,transparent 10%),repeating-radial-gradient(ellipse at 50% 110%,rgba(255,255,255,.06) 0 1px,transparent 2px 38px);background-size:125% 118%,140% 128%,155% 92%;mix-blend-mode:soft-light;opacity:.55;animation:coreOceanShimmer 12s linear infinite;will-change:transform,background-position}.hero-overlay{z-index:-1}
@keyframes coreOceanDrift{0%{transform:scale(1.055) translate3d(-.8%,-.4%,0);background-position:48% 46%}50%{transform:scale(1.085) translate3d(.7%,.5%,0);background-position:52% 51%}100%{transform:scale(1.065) translate3d(-.2%,.9%,0);background-position:50% 47%}}
@keyframes coreOceanShimmer{0%{transform:translate3d(-2%,0,0) rotate(-.15deg);background-position:0 0,20% 10%,0 0}50%{transform:translate3d(2%,1.2%,0) rotate(.15deg);background-position:16% 5%,5% 18%,42px 15px}100%{transform:translate3d(-2%,0,0) rotate(-.15deg);background-position:32% 10%,-10% 26%,84px 30px}}
#partner-map{width:100%;flex:1;min-height:560px;background:#102b5d}.interactive-map-card{overflow:hidden}.leaflet-container{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}.leaflet-control-zoom a{color:var(--navy)}.leaflet-control-attribution{font-size:9px}.core-map-pin{filter:drop-shadow(0 6px 6px rgba(0,0,0,.25))}.core-map-pin img{display:block;width:44px;height:auto}.core-marker-label{background:#fff;border:0;border-radius:4px;box-shadow:0 5px 18px rgba(8,30,67,.22);color:var(--navy);font-weight:800;padding:7px 10px}.core-marker-label:before{border-top-color:#fff}.map-partner.is-travelling{pointer-events:none;opacity:.78}.map-caption span{display:flex;align-items:center;gap:8px}.map-caption span:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(255,90,32,.12)}
@media(max-width:1120px){.brand{width:220px}.main-nav{gap:14px}.main-nav a{font-size:.76rem}}
@media(max-width:820px){.site-header{height:76px}.brand{width:205px}.brand img{height:55px}.main-nav{top:76px}#partner-map{min-height:460px}}
@media(max-width:560px){.brand{width:190px}#partner-map{min-height:390px}}
@media(prefers-reduced-motion:reduce){.hero::before,.hero::after{animation:none}.leaflet-zoom-animated{transition:none!important}}

/* v0.1.4 — refinamento do mapa sem alterar o layout aprovado da v0.1.2 */
#partner-map{position:relative;width:100%;flex:1;min-height:560px;background:#102b5d;overflow:hidden}
.interactive-map-card{min-height:630px}
.map-partner{position:relative;overflow:hidden}
.map-partner:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--orange);transition:width .35s ease}
.map-partner.active:after{width:100%}
.map-partner.is-travelling{pointer-events:none}
.map-partner.is-travelling:not(.active){opacity:.72}
.leaflet-container{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#102b5d}
.leaflet-control-zoom{border:none!important;box-shadow:0 5px 18px rgba(7,26,58,.18)!important}
.leaflet-control-zoom a{color:var(--navy)!important;border-color:#e6eaf1!important}
.leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.8)!important}
.core-marker-label{background:#fff!important;border:0!important;border-radius:4px!important;box-shadow:0 5px 18px rgba(8,30,67,.22)!important;color:var(--navy)!important;font-weight:800!important;padding:7px 10px!important}
.core-marker-label:before{border-top-color:#fff!important}
.map-caption span{display:flex;align-items:center;gap:8px}
.map-caption span:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(255,90,32,.12)}
@media(max-width:820px){#partner-map{min-height:460px}.interactive-map-card{min-height:520px}}
@media(max-width:560px){#partner-map{min-height:390px}}


/* v0.1.5 — Laboratórios parceiros: logos maiores e sem nomes visíveis */
.lab-grid a{
  min-height:240px;
  padding:28px;
  gap:0;
}
.lab-grid a img{
  width:auto;
  height:150px;
  max-width:260px;
  max-height:150px;
  object-fit:contain;
  transition:transform .25s ease;
}
.lab-grid a:hover img{
  transform:scale(1.06);
}
@media(max-width:1050px){
  .lab-grid a{
    min-height:220px;
  }
  .lab-grid a img{
    height:135px;
    max-height:135px;
    max-width:240px;
  }
}
@media(max-width:560px){
  .lab-grid a{
    min-height:200px;
    padding:22px;
  }
  .lab-grid a img{
    height:125px;
    max-height:125px;
    max-width:220px;
  }
}

/* v0.1.6 — novos projetos, colaborador FURG e laboratório LAV */
.project-card-development{
  cursor:default;
}
.project-card-development>img{
  height:118px;
  max-width:100%;
  object-fit:contain;
  object-position:left center;
}
.project-card-development span{
  display:inline-flex;
  align-items:center;
  width:max-content;
  padding:6px 10px;
  border:1px solid rgba(33,71,127,.22);
  border-radius:999px;
  background:#f5f7fb;
}
@media(max-width:820px){
  .project-card-development>img{height:108px}
}
@media(max-width:560px){
  .project-card-development>img{height:100px}
}

/* v0.1.7 — Linhas de pesquisa consolidadas */
@media(min-width:1051px){.research-grid{grid-template-columns:repeat(5,1fr)}}

/* v0.1.7 — ajuste de espaçamento inferior do hero */
.hero{
  padding-bottom:50px;
}
