/* ===== Base (global) ===== */
:root{--brand:#0B5FFF;--accent:#00E5C1;--ink:#0b1220;--muted:#5b6275;--bg:#f7f8fb;--surface:#fff;--radius:16px;--shadow:0 10px 30px rgba(0,0,0,.08);--max:1200px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial;color:var(--ink);background:var(--bg)}img{max-width:100%;display:block}a{color:var(--brand);text-decoration:none}.container{max-width:var(--max);margin-inline:auto;padding:0 20px}header{position:sticky;top:0;z-index:20;backdrop-filter:saturate(180%) blur(8px);background:rgba(255,255,255,.8);border-bottom:1px solid #e5e7eb}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}.logo{display:flex;align-items:center;gap:10px;font-weight:800}.logo img{height:28px}.menu{display:flex;gap:24px;align-items:center}.menu>li{position:relative;list-style:none}.menu a{font-weight:600;color:#111827}.cta{background:var(--brand);color:#fff;padding:10px 14px;border-radius:12px;font-weight:700}.dropdown{position:absolute;left:0;top:100%;min-width:240px;background:var(--surface);padding:12px;border-radius:14px;box-shadow:var(--shadow);border:1px solid #eef0f4;display:none}.menu>li:focus-within .dropdown,.menu>li:hover .dropdown{display:block}.dropdown a{display:block;padding:10px 12px;color:#1f2937;border-radius:10px}.dropdown a:hover{background:#f1f5ff}.mobile-toggle{display:none;padding:8px 12px;border-radius:12px;border:1px solid #e5e7eb}@media (max-width:920px){.menu{display:none;position:fixed;inset:72px 0 auto 0;background:#fff;padding:16px 20px;border-top:1px solid #eee;flex-direction:column;gap:14px}.menu.open{display:flex}.dropdown{position:static;display:none;box-shadow:none;border:none;padding:0}.menu .has-sub>a{display:flex;justify-content:space-between;align-items:center}.menu .has-sub.open .dropdown{display:block}.mobile-toggle{display:inline-flex}}.hero{background:linear-gradient(180deg,#0f1221 0%,#111428 100%);color:#fff;padding:80px 0}.hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:.4rem 0 1rem}.hero .lead{color:#cdd5e6;font-size:1.125rem}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:12px;font-weight:700;border:1px solid transparent}.btn-primary{background:var(--accent);color:#092a25}.btn-outline{border-color:#2b355b;color:#e5e7eb}section{padding:72px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-head h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin:0}.kicker{color:var(--muted);font-weight:600}.grid{display:grid;gap:20px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.card h3{margin:6px 0 8px;font-size:1.1rem}.card p{margin:0;color:#4b5563}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:center}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#EEF2FF;color:#3730A3;font-weight:700;font-size:.78rem}footer{background:#0b0f1d;color:#c9cfdb;padding:40px 0;margin-top:48px}.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}@media (max-width:960px){.split,.foot-grid{grid-template-columns:1fr}.grid-3{grid-template-columns:1fr 1fr}}@media (max-width:640px){.grid-3{grid-template-columns:1fr}}
/* --- Hero Slideshow --- */
.hero{position:relative; overflow:hidden}
.hero .hero-bg{position:absolute; inset:0; z-index:0}
.hero .hero-bg .slide{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1s ease-in-out; filter:brightness(.35)}
.hero .hero-bg .slide.active{opacity:1}
.hero .container{position:relative; z-index:1}


/* ==== QUEM SOMOS styles ==== */
.hero.alt{background:linear-gradient(180deg,#0f1221 0%, #0e1426 100%); padding:96px 0}
.hero.alt .lede{max-width:58ch; color:#cdd5e6}
.hero.alt h1{font-size:clamp(2rem,3.8vw,2.6rem)}
.pills{display:flex; gap:10px; flex-wrap:wrap; margin:18px 0 4px}
.pills .pill{background:#0b5fff1a; color:#cfe0ff; border:1px solid #224cfd;}

.chips{display:flex; gap:10px; flex-wrap:wrap; margin-top:8px}
.chip{display:inline-flex; align-items:center; gap:8px; border:1px solid #e5e7eb; padding:8px 12px; border-radius:999px; background:#fff}
.chip img{height:16px; filter:grayscale(100%)}

.section-split{display:grid; grid-template-columns:minmax(280px,1.05fr) 1fr; gap:28px; align-items:start}
.section-split .media{border-radius:16px; overflow:hidden; box-shadow:var(--shadow)}
.section-split h2{margin-top:0}

.timeline{position:relative; border-left:3px solid #e5e7eb; margin:8px 0 0 10px; padding-left:22px}
.timeline .item{position:relative; margin:18px 0}
.timeline .item::before{content:''; position:absolute; left:-14px; top:.35rem; width:12px; height:12px; border-radius:50%; background:#0B5FFF; box-shadow:0 0 0 4px #e9f0ff}
.timeline .year{font-weight:800; color:#0B5FFF}
.timeline p{margin:.25rem 0 0 0; color:#4b5563}

.cards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
.card.soft{background:#0b5fff08; border:1px solid #e5ecff}
.card.soft h3{margin-top:4px}

.locations{display:grid; grid-template-columns:1.2fr .8fr; gap:22px}
.locations .map{border-radius:16px; overflow:hidden; box-shadow:var(--shadow); background:#e5e7eb; min-height:280px; display:flex; align-items:center; justify-content:center}
.locations .list{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.locations .list a{display:block; padding:12px 14px; border-radius:12px; border:1px solid #e5e7eb; background:#fff; font-weight:700; text-align:center}
@media (max-width: 980px){
  .section-split, .locations{grid-template-columns:1fr}
  .cards{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .cards{grid-template-columns:1fr}
}


/* === History split (50/50 gallery + text) === */
.history-split{padding:48px 0}
.history-split .wrap{display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start}
.gallery{position:relative; width:100%; aspect-ratio: 4/3; border-radius:16px; overflow:hidden; box-shadow:var(--shadow)}
.gallery img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:translateY(6%); transition:opacity 800ms ease, transform 1000ms ease}
.gallery img.active{opacity:1; transform:translateY(0)}
.gallery .dots{position:absolute; right:12px; bottom:12px; display:flex; gap:6px; z-index:2}
.gallery .dot{width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.45)}
.gallery .dot.active{background:#fff}

.history{background:#fff; border-radius:16px; box-shadow:var(--shadow); padding:22px}
.history h2{margin-top:0}
.history .timeline{border-left:3px solid #e8eefb; padding-left:20px; margin-left:8px}
.history .timeline .item{margin:16px 0}
.history .timeline .item::before{content:''; position:absolute; left:-13px; width:12px; height:12px; border-radius:50%; background:#0B5FFF; box-shadow:0 0 0 4px #e9f0ff}
.history .timeline .year{font-weight:800; color:#0B5FFF}
@media (max-width: 980px){
  .history-split .wrap{grid-template-columns:1fr}
  .gallery{aspect-ratio: 16/9}
}


/* === History split v2: photo stack + bigger text === */
.history-split .wrap{grid-template-columns:1fr 1fr; gap:32px}
.photo-stack{display:grid; grid-template-rows:1fr 1fr 1fr; gap:16px}
.photo-card{position:relative; width:100%; border-radius:16px; overflow:hidden; box-shadow:var(--shadow); background:#e8eefb}
.photo-card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.photo-card .hint{position:absolute; right:10px; bottom:8px; font-size:.75rem; color:#fff; opacity:.8}

/* bigger text on the right */
.history{padding:26px}
.history h2{font-size:clamp(1.6rem, 2.6vw, 2rem)}
.history p{font-size:1.05rem}
.history .timeline{padding-left:22px}
.history .timeline .year{font-size:1rem}
.history .timeline p{font-size:1rem}

@media (max-width: 980px){
  .photo-stack{grid-template-rows:220px 220px 220px}
}
@media (max-width: 640px){
  .photo-stack{grid-template-rows:200px 200px 200px}
}

/* enforce stacked photos */
.gallery{display:none!important}
.photo-stack{min-height:720px}
@media (max-width: 980px){ .photo-stack{min-height:auto} }


/* ===== Scoped: styles_grupo.css under .page-grupo ===== */
:root{
  --radius-xl: 22px;
  --photo-shadow: 0 20px 50px rgba(8,12,40,.18);
}
.page-grupo .brand-block{padding:88px 0; background:#fff}
.page-grupo .brand-block.alt{background:linear-gradient(180deg,#0f1221 0%,#111428 100%); color:#e6ebff}
.page-grupo .brand-block.alt .brand-copy h2, .page-grupo .brand-block.alt .brand-copy p{color:#e6ebff}
.page-grupo .brand-split{display:grid; grid-template-columns:1.2fr .9fr; gap:32px; align-items:center}
@media(max-width: 980px){.page-grupo .brand-split{grid-template-columns:1fr; gap:22px}}
.page-grupo .brand-logo{height:56px; filter:grayscale(100%); opacity:.9; margin-bottom:4px}
.page-grupo .brand-copy h2{font-size:clamp(1.8rem,3vw,2.2rem); margin:.2rem 0 .4rem}
.page-grupo .brand-copy p{color:#4b5563}
.page-grupo .brand-block.alt .brand-copy p{color:#cdd5e6}
.page-grupo .brand-copy .actions .btn{margin-right:8px}
.page-grupo .media-collage{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  grid-template-rows: 260px 160px 180px;
  gap:16px;
  perspective: 800px;
}
.page-grupo .media-collage .tile{
  position:relative;
  border-radius:var(--radius-xl);
  overflow:hidden;
  box-shadow:var(--photo-shadow);
  background:linear-gradient(135deg,#f0f3ff,#e7ebf9);
  transform-style: preserve-3d;
  isolation:isolate;
}
.page-grupo .media-collage .tile img{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.2,.7,.2,1), filter .6s ease;
  filter:brightness(.95) contrast(1.05);
}
.page-grupo .media-collage .tile::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom, transparent 60%, rgba(0,0,0,.12));
  mix-blend-mode:multiply; pointer-events:none;
}
.page-grupo .media-collage .tile:hover img{ transform:scale(1.06) }
.page-grupo .media-collage .a{grid-column:1/2; grid-row:1/3; aspect-ratio: 4/5}
.page-grupo .media-collage .b{grid-column:2/3; grid-row:1/2; aspect-ratio: 16/10}
.page-grupo .media-collage .c{grid-column:2/3; grid-row:2/4; aspect-ratio: 3/4}
.page-grupo .media-collage .tile:not(:has(img[src])), .page-grupo .media-collage .tile img[src=""]{background:#eef2ff}
.page-grupo .brand-block.alt .media-collage .tile{box-shadow:0 24px 60px rgba(0,0,0,.45)}
@media(max-width: 980px){.page-grupo .media-collage{
    grid-template-columns:1fr 1fr;
    grid-template-rows:220px 140px 160px;
  }}
@media(max-width: 640px){.page-grupo .media-collage{ grid-template-columns:1fr; grid-template-rows: 240px 180px 200px }
.page-grupo .media-collage .a{grid-column:auto; grid-row:auto}
.page-grupo .media-collage .b{grid-column:auto; grid-row:auto}
.page-grupo .media-collage .c{grid-column:auto; grid-row:auto}}
.page-grupo .brand-block.alt .btn{border-color:#2b355b; color:#e6ebff}
.page-grupo .brand-block.alt .btn:hover{background:#182044}

/* ===== Scoped: styles_portfolio.css under .page-portfolio ===== */
.page-portfolio .portfolio-block{padding:88px 0; background:#0b1020; color:#e6ebff;}
.page-portfolio .portfolio-block .container{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.page-portfolio .portfolio-block.reverse .container{grid-template-columns:.95fr 1.05fr}
@media(max-width:980px){.page-portfolio .portfolio-block .container, .page-portfolio .portfolio-block.reverse .container{grid-template-columns:1fr;gap:20px}}
.page-portfolio .carousel{position:relative;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.45);background:#0f1428}
.page-portfolio .carousel .slides{position:relative;height:0;padding-top:68%;}
.page-portfolio .carousel .slide{position:absolute;left:0;top:0;width:100%;height:100%;opacity:0;transition:opacity .8s ease}
.page-portfolio .carousel .slide.active{opacity:1}
.page-portfolio .carousel .slide img{width:100%;height:100%;object-fit:cover;display:block}
.page-portfolio .carousel .dots{position:absolute;left:20px;bottom:16px;display:flex;gap:8px;z-index:2}
.page-portfolio .carousel .dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;border:1px solid rgba(0,0,0,.3)}
.page-portfolio .carousel .dot.active{background:#fff}
.page-portfolio .portfolio-copy h2{margin:.2rem 0 .6rem}
.page-portfolio .portfolio-copy p{color:#cbd5f0}
.page-portfolio .portfolio-actions .btn{margin-right:8px}

/* ===== Scoped: styles_servicos.css under .page-servicos ===== */
.page-servicos .services-split{display:grid;grid-template-columns:1.05fr .95fr;gap:32px;align-items:center;margin:72px 0}
.page-servicos .services-split.reverse{grid-template-columns:.95fr 1.05fr}
.page-servicos .services-split figure{border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(8,12,40,.28);background:#0f1428}
.page-servicos .services-split img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio: 16 / 11;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.page-servicos .services-split figure:hover img{transform:scale(1.04)}
.page-servicos .services-split .copy h2{margin-top:0}
@media(max-width: 980px){.page-servicos .services-split, .page-servicos .services-split.reverse{grid-template-columns:1fr;gap:18px;margin:48px 0}
.page-servicos .services-split img{aspect-ratio: 3 / 2}}

/* ===== Scoped: styles_carreiras.css under .page-carreiras ===== */
.page-carreiras .careers-hero{background:#06080f;color:#fff;padding:32px 0 18px}
.page-carreiras .careers-hero .container h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.05;margin:0 0 6px}
.page-carreiras .careers-hero .container p{color:#9db6ff;margin:0 0 10px}
.page-carreiras .careers-body{background:#00030a;color:#e7ecff;padding:28px 0 80px}
.page-carreiras .careers-body .container{max-width:1024px}
.page-carreiras .careers-intro h3{margin:0 0 14px}
.page-carreiras .careers-intro p{color:#bfd0ff}
.page-carreiras .careers-intro ul{margin:10px 0 26px 22px}
.page-carreiras .careers-intro li{margin:6px 0;color:#9ec0ff}
.page-carreiras .careers-panel{background:#0b0f1f;border-radius:18px;padding:20px;box-shadow:0 24px 60px rgba(0,0,0,.45);border:1px solid #1a2444}
.page-carreiras .careers-panel h4{margin:0 0 14px}
.page-carreiras .form-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:900px){.page-carreiras .form-grid.two{grid-template-columns:1fr 1fr}
.page-carreiras .form-grid.three{grid-template-columns:1fr 1fr 1fr}}
.page-carreiras .form-field{display:flex;gap:8px;flex-direction:column}
.page-carreiras .form-field label{font-size:.92rem;color:#9bb4ff}
.page-carreiras .input, .page-carreiras .select, .page-carreiras .textarea, .page-carreiras .file, .page-carreiras .url{
  width:100%; border:1px solid #253158; background:#0e142b; color:#e7ecff;
  border-radius:12px; padding:14px 16px; outline:none; transition:border-color .2s ease, box-shadow .2s ease;
}
.page-carreiras .select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23b7c7ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
.page-carreiras .input:focus, .page-carreiras .select:focus, .page-carreiras .textarea:focus, .page-carreiras .url:focus{border-color:#3d63ff; box-shadow:0 0 0 3px rgba(61,99,255,.25)}
.page-carreiras .textarea{min-height:200px; resize:vertical}
.page-carreiras .file-wrap{position:relative}
.page-carreiras .file{padding:12px 16px;background:#0e142b}
.page-carreiras .helper{font-size:.86rem;color:#7f95d6}
.page-carreiras .btn-primary{
  display:inline-block;border:0;background:#1b5cff;color:#fff;padding:14px 22px;border-radius:12px;
  font-weight:600;cursor:pointer;transition:transform .06s ease, filter .2s ease;
}
.page-carreiras .btn-primary:hover{filter:brightness(1.05)}
.page-carreiras .btn-primary:active{transform:translateY(1px)}
.page-carreiras .required::after{content:" *";color:#5fb1ff}
.page-carreiras .container{width:min(1120px,92%);margin:0 auto}

/* ===== Scoped: styles_contacto.css under .page-contacto ===== */
.page-contacto .contact-hero{background:#000; color:#fff; padding:42px 0 6px}
.page-contacto .contact-hero .container{width:min(1100px,92%); margin:0 auto}
.page-contacto .contact-hero h1{font-size:clamp(2rem,6vw,3.4rem); line-height:1.05; margin:0 0 10px}
.page-contacto .contact-hero p{color:#8fb0ff; margin:0 0 20px}
.page-contacto .contact-body{background:#000; color:#e9f0ff; padding:10px 0 80px}
.page-contacto .contact-body .container{width:min(1100px,92%); margin:0 auto}
.page-contacto .contact-form{margin:10px 0 38px}
.page-contacto .form-grid{display:grid; grid-template-columns:1fr; gap:12px}
@media(min-width: 900px){.page-contacto .form-grid.two{grid-template-columns:1fr 1fr}}
.page-contacto .input, .page-contacto .textarea{
  width:100%; border:1px solid #2a365a; background:#0b1226; color:#e9f0ff;
  border-radius:12px; padding:14px 16px; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.page-contacto .input:focus, .page-contacto .textarea:focus{border-color:#3d63ff; box-shadow:0 0 0 3px rgba(61,99,255,.25)}
.page-contacto .textarea{min-height:120px; resize:vertical}
.page-contacto .btn-primary{
  display:inline-block; border:0; background:#1b5cff; color:#fff; padding:12px 22px; border-radius:12px;
  font-weight:600; cursor:pointer; transition:transform .06s ease, filter .2s ease;
}
.page-contacto .btn-primary:hover{filter:brightness(1.05)}
.page-contacto .btn-primary:active{transform:translateY(1px)}
.page-contacto .offices{margin-top:26px; display:grid; gap:28px; grid-template-columns:1fr 1fr; align-items:start}
@media(min-width:900px){.page-contacto .offices{grid-template-columns:1fr 1fr 1fr 1fr}}
.page-contacto .office h4{margin:.2rem 0 .2rem; color:#8fb0ff}
.page-contacto .office p{margin:.12rem 0; color:#c6d6ff}
.page-contacto .office .muted{color:#8aa0d6; font-size:.92rem}
.page-contacto .note{color:#6e84c6; font-size:.82rem; text-align:center; margin-top:22px}