@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{--blue:#0649EE;--navy:#06152B;--core:#063D9B;--ink:#071226;--paper:#f7f9fd;--muted:#647087;--line:#dce3ef;--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--ink);background:var(--paper);line-height:1.6}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.header{height:88px;display:flex;align-items:center;gap:28px;padding:0 4vw;background:#04101f;color:#fff;position:sticky;top:0;z-index:50;border-bottom:1px solid #ffffff14}.brand{width:230px;margin-right:auto}.brand img{max-height:62px}.header nav{display:flex;gap:24px;align-items:center}.header nav a{font-size:14px;font-weight:600;opacity:.82;position:relative}.header nav a:hover,.header nav a.active{opacity:1}.header nav a.active:after{content:"";position:absolute;height:2px;background:var(--blue);left:0;right:0;bottom:-12px}.header-actions{display:flex;align-items:center;gap:12px}.phone{font-size:13px;font-weight:700}.theme,.menu{border:1px solid #ffffff22;background:#ffffff0c;color:#fff;border-radius:50%;width:42px;height:42px;cursor:pointer}.menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;border:0;border-radius:10px;padding:15px 22px;font-weight:700;font-size:14px;box-shadow:0 10px 30px #0649ee30}.btn.small{padding:11px 16px}.btn.outline{background:transparent;border:1px solid #ffffff88;box-shadow:none}.btn.center{margin:30px auto 0;width:max-content;display:flex}.hero-v2{height:min(760px,calc(100vh - 88px));min-height:600px;position:relative;display:flex;align-items:center;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#020a14 5%,#020a14e8 38%,#020a1470 65%,#020a1410),linear-gradient(0deg,#020a1490,transparent 45%)}.hero-copy{position:relative;z-index:2;width:min(780px,86vw);margin-left:5vw}.kicker{text-transform:uppercase;letter-spacing:.16em;color:#3b79ff;font-size:12px;font-weight:800}.hero-copy h1,.inner-hero h1{font-size:clamp(38px,4.5vw,64px);line-height:1.03;margin:18px 0 22px;letter-spacing:-.04em}.hero-copy h1 em{font-style:normal;color:#0e59ff}.hero-copy p{font-size:16px;max-width:660px;color:#e1e8f4}.actions{display:flex;gap:14px;margin:30px 0}.trust{display:flex;gap:26px;font-size:12px;margin-top:35px;color:#d7e1ef}.scrollcue{position:absolute;z-index:2;bottom:20px;left:50%;transform:translateX(-50%);font-size:11px;color:#dce6f6}.section{padding:90px 5vw;max-width:1500px;margin:auto}.section-title{text-align:center;max-width:760px;margin:0 auto 42px}.section-title h2{font-size:clamp(28px,2.5vw,40px);line-height:1.1;margin:10px 0}.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.audience{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-columns:44% 56%;min-height:300px;box-shadow:0 20px 50px #12223b0c;transition:.35s}.audience:hover{transform:translateY(-6px);box-shadow:0 24px 60px #12223b18}.audience img{width:100%;height:100%;object-fit:cover}.audience div{padding:36px}.audience div>span{color:var(--blue);font-weight:800}.audience h3{font-size:24px;line-height:1.15;margin:12px 0}.audience p{color:var(--muted)}.audience b{color:var(--blue);font-size:13px}.difference{background:var(--navy);color:#fff;padding:80px 5vw}.difference .section-title h2{margin-bottom:30px}.difference-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr)}.difference article{padding:18px 34px;border-right:1px solid #ffffff20}.difference article:last-child{border:0}.difference article>b{font-size:34px;color:#2770ff}.difference h3{font-size:17px;margin:5px 0}.difference p{font-size:13px;color:#afbdd1}.service-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.service-tile{height:270px;border-radius:16px;overflow:hidden;position:relative;color:#fff;background:#000;transition:.35s}.service-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#020a14e8 0%,transparent 70%)}.service-tile img{width:100%;height:100%;object-fit:cover;transition:.5s}.service-tile:hover img{transform:scale(1.06)}.service-tile span,.service-tile b{position:absolute;z-index:2;bottom:20px}.service-tile span{left:18px;right:45px;font-weight:700;line-height:1.2}.service-tile b{right:18px}.visual-story{display:grid;grid-template-columns:42% 58%;min-height:500px;background:#06152b;color:#fff}.visual-story.reverse{grid-template-columns:50% 50%;margin:80px 5vw;border-radius:var(--radius);overflow:hidden}.visual-story.reverse img{order:-1}.story-copy{padding:8vw 6vw;display:flex;flex-direction:column;justify-content:center}.story-copy h2{font-size:clamp(30px,3.3vw,48px);line-height:1.05;margin:12px 0}.story-copy p{color:#b8c5d8}.story-copy a{color:#5b8cff;font-weight:700}.visual-story img{width:100%;height:100%;object-fit:cover}.contact-strip{background:linear-gradient(120deg,#06152b,#08234a);color:#fff;padding:55px 5vw;display:grid;grid-template-columns:1.5fr 1fr auto;gap:50px;align-items:center}.contact-strip h2{font-size:30px;line-height:1.15;margin:8px 0}.contact-strip p{color:#b7c4d6}.contact-lines{display:grid;gap:8px;font-size:13px}footer{background:#020b16;color:#8f9bae;padding:38px 5vw;display:grid;grid-template-columns:230px 1fr auto;gap:30px;align-items:center;font-size:12px}footer img{width:190px}footer p{margin:0}footer div{display:flex;gap:20px}footer small{grid-column:1/-1;border-top:1px solid #ffffff10;padding-top:20px}.inner-hero{background:#06152b;color:#fff;padding:120px 8vw 100px}.inner-hero>p{max-width:760px;color:#b8c5d8;font-size:18px}.inner-hero.photo{padding:0;display:grid;grid-template-columns:50% 50%;min-height:560px}.inner-hero.photo>img{width:100%;height:100%;object-fit:cover}.inner-hero.photo>div{padding:8vw 6vw;align-self:center}.inner-hero.photo h1{font-size:clamp(36px,3.8vw,56px)}.editorial-list{margin-top:70px}.editorial-list article{display:grid;grid-template-columns:100px 1fr;gap:30px;padding:38px 0;border-top:1px solid var(--line)}.editorial-list article>b{font-size:32px;color:var(--blue)}.editorial-list h2{margin:0;font-size:28px}.editorial-list p{color:var(--muted);max-width:900px}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.feature-split h2{font-size:38px;line-height:1.15}.feature-split p,.feature-split li{color:var(--muted)}.feature-split li{padding:14px 0;border-bottom:1px solid var(--line)}.section.dark{max-width:none;background:#07172e}.contact-v2{display:grid;grid-template-columns:38% 62%;gap:60px}.contact-info{display:grid;gap:20px;align-content:start}.contact-info>a,.contact-info>p{background:#fff;border:1px solid var(--line);padding:22px;border-radius:14px}.form-v2{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:40px;display:grid;gap:18px}.form-v2 label{display:grid;gap:8px;font-size:13px;font-weight:700}.form-v2 input,.form-v2 textarea{font:inherit;border:1px solid #ccd6e5;border-radius:9px;padding:14px;background:#f9fbfe}.form-v2 textarea{min-height:140px}.hp{position:absolute!important;left:-9999px!important}.notice{padding:12px;background:#e9fff2;border-radius:8px}.notice.error{background:#fff0f0}.map iframe{width:100%;height:520px;border:0;display:block}.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}.reveal.in{opacity:1;transform:none}
html[data-theme="light"] .header{background:#fff;color:#071226;border-bottom-color:#dce3ef}html[data-theme="light"] .brand img{filter:none}html[data-theme="light"] .theme,html[data-theme="light"] .menu{color:#071226;border-color:#dce3ef;background:#f3f6fb}
@media(max-width:1050px){.header nav{display:none}.menu{display:block}.header.open nav{display:flex;position:absolute;top:88px;left:0;right:0;background:#04101f;flex-direction:column;padding:25px}.phone{display:none}.service-gallery{grid-template-columns:repeat(3,1fr)}.audience-grid{grid-template-columns:1fr}.contact-strip{grid-template-columns:1fr 1fr}.contact-strip>.btn{grid-column:1/-1;width:max-content}.contact-v2{grid-template-columns:1fr}.difference-grid{grid-template-columns:1fr 1fr}.inner-hero.photo{grid-template-columns:1fr}.inner-hero.photo>img{height:360px}}
@media(max-width:650px){.header{height:72px;padding:0 18px}.brand{width:170px}.brand img{max-height:50px}.header-actions .btn{display:none}.header.open nav{top:72px}.hero-v2{min-height:690px;height:calc(100vh - 72px)}.hero-copy{margin:0 22px;width:auto}.hero-copy h1{font-size:38px}.hero-copy p{font-size:15px}.trust{display:grid;gap:7px}.section{padding:65px 20px}.audience{grid-template-columns:1fr}.audience img{height:220px}.audience div{padding:26px}.difference{padding:60px 20px}.difference-grid{grid-template-columns:1fr}.difference article{border-right:0;border-bottom:1px solid #ffffff20;padding:22px 0}.service-gallery{grid-template-columns:1fr 1fr}.service-tile{height:220px}.visual-story,.visual-story.reverse{grid-template-columns:1fr;margin:0;border-radius:0}.visual-story img{height:320px}.story-copy{padding:70px 24px}.contact-strip{grid-template-columns:1fr;padding:50px 24px;gap:20px}footer{grid-template-columns:1fr;padding:35px 24px}.inner-hero{padding:90px 24px 70px}.inner-hero h1{font-size:38px}.inner-hero.photo>div{padding:60px 24px}.feature-split{grid-template-columns:1fr;gap:25px}.feature-split h2{font-size:32px}.editorial-list article{grid-template-columns:55px 1fr}.contact-v2{padding:55px 20px}.form-v2{padding:25px}.map iframe{height:420px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

.service-tile,.audience{cursor:pointer}.service-tile:focus-visible,.audience:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.service-tile:hover span,.audience:hover b{text-decoration:underline}.editorial-list article[id]{scroll-margin-top:110px}


/* ============================================================
   v2.00 ALPHA 01 R5 — COMPACT INTERIOR PAGE HEROES
   Home hero (.hero-v2) intentionally unchanged.
   ============================================================ */
.inner-hero:not(.photo){
  padding:68px 8vw 58px;
  min-height:300px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.inner-hero:not(.photo) h1{
  font-size:clamp(34px,3.5vw,50px);
  max-width:1080px;
  margin:12px 0 15px;
}
.inner-hero:not(.photo)>p{
  font-size:16px;
  margin:0;
  max-width:760px;
}
.inner-hero.photo{
  min-height:360px;
  max-height:430px;
  grid-template-columns:44% 56%;
}
.inner-hero.photo>img{
  min-height:360px;
}
.inner-hero.photo>div{
  padding:52px 6vw;
}
.inner-hero.photo h1{
  font-size:clamp(32px,3.1vw,46px);
  margin:12px 0 16px;
}
.inner-hero.photo p{
  font-size:16px;
  margin:0;
  max-width:680px;
  color:#b8c5d8;
}
@media(max-width:1050px){
  .inner-hero.photo{
    grid-template-columns:42% 58%;
    min-height:330px;
    max-height:none;
  }
  .inner-hero.photo>img{
    height:330px;
    min-height:330px;
  }
  .inner-hero.photo>div{padding:42px 5vw}
}
@media(max-width:760px){
  .inner-hero:not(.photo){
    padding:48px 24px 42px;
    min-height:230px;
  }
  .inner-hero:not(.photo) h1{font-size:34px}
  .inner-hero.photo{
    grid-template-columns:1fr;
    min-height:0;
  }
  .inner-hero.photo>img{
    height:220px;
    min-height:220px;
  }
  .inner-hero.photo>div{padding:38px 24px 42px}
  .inner-hero.photo h1{font-size:34px}
}
@media(max-width:480px){
  .inner-hero:not(.photo){padding:40px 20px 36px;min-height:210px}
  .inner-hero:not(.photo) h1,.inner-hero.photo h1{font-size:30px}
  .inner-hero.photo>img{height:190px;min-height:190px}
  .inner-hero.photo>div{padding:32px 20px 36px}
}

/* ============================================================
   v2.00 ALPHA 01 R6 — UNIFIED COMPACT INTERIOR HEROES
   All interior page heroes now share a deliberately compact
   editorial footprint. Home (.hero-v2) remains unchanged.
   ============================================================ */
@media(min-width:761px){
  .inner-hero:not(.photo){
    padding:52px 7vw 46px;
    min-height:245px;
  }
  .inner-hero:not(.photo) h1{
    font-size:clamp(32px,3vw,44px);
    margin:10px 0 12px;
  }
  .inner-hero.photo{
    min-height:260px;
    height:280px;
    max-height:280px;
    grid-template-columns:36% 64%;
    overflow:hidden;
  }
  .inner-hero.photo>img{
    width:100%;
    height:280px;
    min-height:280px;
    object-fit:cover;
  }
  .inner-hero.photo>div{
    padding:32px 5vw;
    align-self:center;
  }
  .inner-hero.photo h1{
    font-size:clamp(30px,2.7vw,42px);
    margin:9px 0 12px;
    line-height:1.06;
  }
  .inner-hero.photo p{
    font-size:15px;
    line-height:1.55;
    max-width:700px;
  }
}
@media(min-width:1051px){
  .section:first-of-type:not(.inner-hero){padding-top:68px}
}

/* ============================================================
   v2.00 ALPHA 01 R7 — CONTEMPORARY MOTION LANGUAGE
   Motion is selective: depth, reveals and micro-interactions.
   No classic fixed-background parallax or decorative clutter.
   ============================================================ */
:root{--rn-scroll:0;--rn-hero-shift:0px;--rn-story-shift:0px}
body{overflow-x:hidden}
.hero-v2:before{content:"";position:absolute;z-index:1;width:48vw;height:48vw;right:-15vw;top:-20vw;border-radius:50%;background:radial-gradient(circle,#0649ee24 0%,#0649ee0b 38%,transparent 70%);pointer-events:none;transform:translate3d(0,calc(var(--rn-hero-shift) * -.22),0);will-change:transform}
.hero-bg{transform:translate3d(0,var(--rn-hero-shift),0) scale(1.075);will-change:transform;transition:filter .6s ease}
.hero-copy{transform:translate3d(0,calc(var(--rn-hero-shift) * -.12),0);will-change:transform}
.scrollcue{animation:rnCue 2.4s ease-in-out infinite}
@keyframes rnCue{0%,100%{opacity:.58;transform:translate(-50%,0)}50%{opacity:1;transform:translate(-50%,5px)}}

/* Reveals: quiet, directional and slightly staggered */
.reveal{opacity:0;transform:translate3d(0,24px,0);transition:opacity .72s cubic-bezier(.2,.7,.2,1),transform .82s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:translate3d(0,0,0)}
.audience-grid .reveal:nth-child(2){transition-delay:.09s}
.service-gallery .service-tile{opacity:0;transform:translate3d(0,18px,0);transition:opacity .62s ease,transform .7s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.service-gallery.motion-in .service-tile{opacity:1;transform:none}
.service-gallery.motion-in .service-tile:nth-child(2){transition-delay:.055s}.service-gallery.motion-in .service-tile:nth-child(3){transition-delay:.11s}.service-gallery.motion-in .service-tile:nth-child(4){transition-delay:.165s}.service-gallery.motion-in .service-tile:nth-child(5){transition-delay:.22s}

/* Images gain depth without old-style background parallax */
.visual-story{overflow:hidden;position:relative}
.visual-story>img{transform:translate3d(0,var(--rn-story-shift),0) scale(1.055);will-change:transform}
.visual-story:after{content:"";position:absolute;inset:0 0 0 42%;pointer-events:none;background:linear-gradient(110deg,#06152b22,transparent 24%)}
.visual-story.reverse:after{display:none}
.inner-hero.photo>img{transform:scale(1.025);transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .6s ease}
.inner-hero.photo.motion-in>img{transform:scale(1)}

/* Micro-interactions: enough feedback, never spectacle */
.audience,.service-tile{transition:transform .38s cubic-bezier(.2,.7,.2,1),box-shadow .38s ease,border-color .38s ease}
.audience:hover{transform:translateY(-5px);border-color:#0649ee55;box-shadow:0 26px 64px #071b3a1a}
.audience img{transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.audience:hover img{transform:scale(1.025)}
.service-tile:hover{transform:translateY(-4px);box-shadow:0 18px 42px #071b3a25}
.service-tile img{transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.service-tile:hover img{transform:scale(1.045)}
.btn{transition:transform .28s ease,box-shadow .28s ease,background .28s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px #0649ee42}
.header{transition:background .35s ease,box-shadow .35s ease,border-color .35s ease}
.header.scrolled{background:#04101ff2;box-shadow:0 10px 34px #0209142e;backdrop-filter:blur(14px)}
html[data-theme="light"] .header.scrolled{background:#fffffff0}

/* A restrained moving light field on the metrics band */
.difference{position:relative;overflow:hidden;isolation:isolate}
.difference:before{content:"";position:absolute;z-index:-1;width:520px;height:520px;left:var(--ambient-x,8%);top:-350px;border-radius:50%;background:radial-gradient(circle,#0649ee20,transparent 68%);transition:left 1.4s ease-out;pointer-events:none}
.difference-grid article{transition:transform .32s ease,background .32s ease}
.difference-grid article:hover{transform:translateY(-3px);background:#ffffff05}

@media(max-width:760px){
 .hero-bg,.hero-copy,.visual-story>img,.hero-v2:before{transform:none!important;will-change:auto}
 .scrollcue{animation:none}
 .service-gallery .service-tile{opacity:1;transform:none}
 .visual-story:after{display:none}
}
@media(prefers-reduced-motion:reduce){
 .hero-bg,.hero-copy,.visual-story>img,.hero-v2:before,.inner-hero.photo>img{transform:none!important;will-change:auto!important}
 .scrollcue{animation:none!important}
 .service-gallery .service-tile{opacity:1!important;transform:none!important;transition:none!important}
 .reveal{opacity:1!important;transform:none!important;transition:none!important}
 .audience,.service-tile,.btn,.difference-grid article{transition:none!important}
}

/* ============================================================
   v2.00 ALPHA 01 R8 — TYPOGRAPHIC HIERARCHY NORMALIZATION
   Contact = interior type reference; Empresas = photo composition reference.
   Motion layer from R7 remains intact for later evaluation.
   ============================================================ */
@media(min-width:761px){
  /* Home remains the only deliberately large display headline, but less dominant. */
  .hero-copy h1{
    font-size:clamp(36px,4vw,56px);
    line-height:1.04;
  }

  /* One common editorial scale for every interior page. */
  .inner-hero:not(.photo){
    padding:44px 7vw 40px;
    min-height:220px;
  }
  .inner-hero:not(.photo) h1,
  .inner-hero.photo h1{
    font-size:clamp(30px,2.65vw,42px);
    line-height:1.07;
    letter-spacing:-.035em;
    margin:9px 0 12px;
  }
  .inner-hero:not(.photo)>p,
  .inner-hero.photo p{
    font-size:15px;
    line-height:1.55;
  }

  /* Keep the approved Empresas-style photographic composition compact. */
  .inner-hero.photo{
    min-height:260px;
    height:280px;
    max-height:280px;
    grid-template-columns:36% 64%;
  }
  .inner-hero.photo>div{padding:30px 5vw}
}

@media(max-width:760px){
  .hero-copy h1{font-size:36px;line-height:1.06}
  .inner-hero:not(.photo) h1,
  .inner-hero.photo h1{font-size:30px;line-height:1.08}
}
