/* ==========================================================================
   Medial Company — medialcompany.com
   Folha de estilo do site institucional (one-page, EN).
   Design System Claro (Clean / Modern Light Palette com blocos tonais).
   ========================================================================== */

:root{
  --bg:#F8FAFC;          /* Fundo base claro (slate-50) */
  --bg-2:#F1F5F9;        /* Fundo de blocos/painéis alternados (slate-100) */
  --panel:#FFFFFF;       /* Fundo de cards e superfícies (branco puro) */
  --panel-2:#F8FAFC;     /* Fundo secundário elevado */
  --line:#E2E8F0;        /* Linhas e bordas sutis (slate-200) */
  --line-strong:#CBD5E1; /* Linhas de maior contraste para inputs/divisores (slate-300) */
  --ink:#0F172A;         /* Títulos e textos principais de alto contraste (slate-900) */
  --muted:#475569;       /* Texto corrido e parágrafos (slate-600) */
  --muted-2:#64748B;     /* Textos secundários, legendas e etiquetas (slate-500) */

  --cyan:#0284C7;        /* Ciano/Sky 600 - visibilidade perfeita em fundos claros */
  --blue:#2563EB;        /* Azul 600 */
  --orange:#EA580C;      /* Laranja 600 */
  --red:#DC2626;         /* Vermelho 600 */

  --grad-warm:linear-gradient(100deg,#F97316,#EA580C 40%,#DC2626);
  --grad-cool:linear-gradient(100deg,#2563EB,#0284C7);
  --grad-full:linear-gradient(100deg,#F97316,#DC2626 38%,#2563EB 74%,#0284C7);

  --font:'Montserrat','Segoe UI',system-ui,-apple-system,Helvetica,Arial,sans-serif;
  --maxw:1180px;
  --pad:clamp(20px,5vw,40px);
  --radius:18px;
  --header-h:76px;

  --shadow-sm:0 2px 8px -1px rgba(15,23,42,.05),0 1px 3px -1px rgba(15,23,42,.03);
  --shadow-md:0 10px 25px -5px rgba(15,23,42,.07),0 8px 10px -6px rgba(15,23,42,.04);
  --shadow-lg:0 20px 35px -10px rgba(15,23,42,.09),0 10px 15px -8px rgba(15,23,42,.04);
}

/* ---------- reset / base ------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body.mc-page{
  margin:0;
  background:var(--bg);
  color:var(--muted);
  font-family:var(--font);
  font-size:17px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

.mc-page :where(h1,h2,h3,h4){
  color:var(--ink);
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.15;
  margin:0;
}

:where(.mc-page a){color:var(--cyan);text-decoration:none}
:where(.mc-page img){max-width:100%;height:auto;display:block}

/* trava de rolagem lateral */
.mc-grid > *,.mc-row > *{min-width:0}

.mc-shell{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}

/* ---------- utilitários de texto --------------------------------------- */
.mc-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cyan);margin:0 0 18px;
}
.mc-eyebrow::before{
  content:"";width:26px;height:2px;border-radius:2px;background:var(--grad-warm);
}
.mc-h2{font-size:clamp(1.85rem,4vw,2.9rem)}
.mc-lead{
  font-size:clamp(1rem,1.6vw,1.12rem);color:var(--muted);
  margin:18px 0 0;max-width:62ch;
}
.mc-grad{
  background:var(--grad-warm);-webkit-background-clip:text;background-clip:text;
  color:transparent;
}
.mc-grad-cool{
  background:var(--grad-cool);-webkit-background-clip:text;background-clip:text;
  color:transparent;
}

/* ---------- botões ------------------------------------------------------ */
.mc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 30px;border-radius:999px;border:1px solid transparent;
  font-family:var(--font);font-size:.94rem;font-weight:700;letter-spacing:.01em;
  cursor:pointer;white-space:nowrap;
  transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,background .25s,border-color .25s,color .25s;
}
.mc-btn svg{width:17px;height:17px;flex:none}
.mc-btn--primary,.mc-btn--primary:hover,.mc-btn--primary:focus{color:#fff}
.mc-btn--primary{
  background:var(--grad-warm);color:#fff;
  box-shadow:0 10px 25px -8px rgba(234,88,12,.45);
}
.mc-btn--primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(234,88,12,.6)}
.mc-btn--ghost{
  background:#FFFFFF;color:var(--ink);border-color:var(--line);
  box-shadow:var(--shadow-sm);
}
.mc-btn--ghost:hover{
  transform:translateY(-2px);border-color:var(--cyan);
  background:#F0F9FF;color:var(--cyan);
}
@media (prefers-reduced-motion:reduce){.mc-btn:hover{transform:none}}

/* ==========================================================================
   HEADER (Menu em tom de branco levemente acinzentado)
   ========================================================================== */
.mc-header{
  position:fixed;inset:0 0 auto 0;z-index:900;
  height:var(--header-h);
  display:flex;align-items:center;
  background:rgba(244,245,247,.96); /* tom de branco levemente acinzentado */
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  box-shadow:0 2px 12px -2px rgba(15,23,42,.04);
  transition:background .3s,border-color .3s,backdrop-filter .3s,box-shadow .3s;
}
.mc-header.is-stuck{
  background:rgba(244,245,247,.98);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom-color:var(--line-strong);
  box-shadow:0 4px 20px -2px rgba(15,23,42,.07);
}
.mc-header__inner{
  width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);
  display:flex;align-items:center;gap:28px;
}
.mc-header__logo{flex:none;display:block}
.mc-header__logo img{width:158px;height:auto}

.mc-nav{margin-left:auto;display:flex;align-items:center;gap:34px}
.mc-nav a{
  position:relative;color:#334155;font-size:.9rem;font-weight:600;
  letter-spacing:.01em;transition:color .22s;
}
.mc-nav a::after{
  content:"";position:absolute;left:0;bottom:-7px;height:2px;width:0;border-radius:2px;
  background:var(--grad-warm);transition:width .28s cubic-bezier(.22,1,.36,1);
}
.mc-nav a:hover{color:var(--ink)}
.mc-nav a:hover::after,.mc-nav a.is-active::after{width:100%}
.mc-nav a.is-active{color:var(--ink)}

.mc-header .mc-btn{padding:12px 24px;font-size:.86rem}

/* hambúrguer */
.mc-burger{
  display:none;margin-left:auto;width:44px;height:44px;flex:none;
  align-items:center;justify-content:center;
  background:#FFFFFF;border:1px solid var(--line);border-radius:12px;
  box-shadow:var(--shadow-sm);cursor:pointer;padding:0;
}
.mc-burger span{
  display:block;width:19px;height:2px;border-radius:2px;background:var(--ink);
  position:relative;transition:background .2s;
}
.mc-burger span::before,.mc-burger span::after{
  content:"";position:absolute;left:0;width:19px;height:2px;border-radius:2px;background:var(--ink);
  transition:transform .28s cubic-bezier(.22,1,.36,1),top .28s;
}
.mc-burger span::before{top:-6px}
.mc-burger span::after{top:6px}
.mc-burger[aria-expanded="true"] span{background:transparent}
.mc-burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.mc-burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

/* drawer mobile */
.mc-drawer{
  position:fixed;inset:var(--header-h) 0 auto 0;z-index:890;
  background:rgba(255,255,255,.98);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);
  box-shadow:0 12px 30px -10px rgba(15,23,42,.08);
  padding:8px var(--pad) 26px;
  display:none;
}
.mc-drawer.is-open{display:block}
.mc-drawer a{
  display:block;padding:15px 0;color:var(--ink);font-size:1.05rem;font-weight:600;
  border-bottom:1px solid var(--line);
}
.mc-drawer a:last-of-type{border-bottom:0}
.mc-drawer .mc-btn{width:100%;margin-top:18px}

@media (max-width:900px){
  .mc-nav,.mc-header .mc-btn{display:none}
  .mc-burger{display:flex}
}

/* ==========================================================================
   HERO
   ========================================================================== */
.mc-hero{
  position:relative;overflow:hidden;
  padding:calc(var(--header-h) + clamp(70px,11vw,130px)) 0 clamp(70px,10vw,120px);
  background:var(--bg);
}
.mc-hero__bg{position:absolute;inset:0;z-index:-2;pointer-events:none}
.mc-hero__bg canvas{width:100%;height:100%;display:block;opacity:.45}

.mc-glow{position:absolute;border-radius:50%;filter:blur(100px);pointer-events:none}
.mc-glow--warm{
  width:min(680px,80vw);aspect-ratio:1;top:-16%;right:-14%;opacity:.14;
  background:radial-gradient(circle,var(--orange) 0%,var(--red) 52%,transparent 70%);
}
.mc-glow--cool{
  width:min(760px,88vw);aspect-ratio:1;bottom:-34%;left:-18%;opacity:.14;
  background:radial-gradient(circle,var(--cyan) 0%,var(--blue) 52%,transparent 70%);
}

.mc-hero__grid{
  display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(30px,5vw,64px);align-items:center;
}
.mc-hero h1{font-size:clamp(2.25rem,5.6vw,4rem);letter-spacing:-.03em;line-height:1.06;color:var(--ink)}
.mc-hero .mc-lead{max-width:52ch}
.mc-hero__cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}

.mc-hero__badges{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:44px;
  padding-top:30px;border-top:1px solid var(--line);
}
.mc-chip{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 15px;border-radius:999px;border:1px solid var(--line);
  background:#FFFFFF;box-shadow:var(--shadow-sm);
  font-size:.8rem;font-weight:600;color:var(--muted);
}
.mc-chip svg{width:15px;height:15px;flex:none;color:var(--cyan)}

/* painel do globo */
.mc-orbit{position:relative;aspect-ratio:1;width:100%;max-width:520px;margin-inline:auto}
.mc-orbit canvas{width:100%;height:100%;display:block}

@media (max-width:980px){
  .mc-hero__grid{grid-template-columns:1fr}
  .mc-orbit{max-width:400px;order:-1}
}
@media (max-width:600px){
  .mc-orbit{max-width:290px}
  .mc-hero__cta .mc-btn{width:100%}
}

/* ==========================================================================
   SEÇÕES COM BLOCOS EM TONS CLAROS
   ========================================================================== */
.mc-section{position:relative;padding:clamp(72px,10vw,124px) 0}
.mc-section--panel{background:var(--bg-2)}
.mc-section--panel::before,.mc-section--panel::after{
  content:"";position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--line) 22%,var(--line) 78%,transparent);
}
.mc-section--panel::before{top:0}
.mc-section--panel::after{bottom:0}

.mc-section__head{max-width:760px;margin-bottom:clamp(44px,6vw,64px)}
.mc-section__head--center{margin-inline:auto;text-align:center}
.mc-section__head--center .mc-eyebrow{justify-content:center}
.mc-section__head--center .mc-lead{margin-inline:auto}

/* ---------- cards de serviço ------------------------------------------- */
.mc-grid{display:grid;gap:22px}
.mc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mc-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.mc-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}

.mc-card{
  position:relative;padding:34px 30px 32px;border-radius:var(--radius);
  background:#FFFFFF;
  border:1px solid var(--line);overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:transform .35s cubic-bezier(.22,1,.36,1),border-color .35s,box-shadow .35s;
}
.mc-card::before{
  content:"";position:absolute;top:0;left:24px;right:24px;height:2px;border-radius:2px;
  background:var(--grad-full);opacity:0;transition:opacity .35s;
}
.mc-card:hover{transform:translateY(-5px);border-color:var(--line-strong);box-shadow:var(--shadow-md)}
.mc-card:hover::before{opacity:1}

.mc-card__icon{
  width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:#E0F2FE;border:1px solid #BAE6FD;
  margin-bottom:22px;
}
.mc-card__icon svg{width:24px;height:24px;color:var(--cyan)}
.mc-card:nth-child(2n) .mc-card__icon{
  background:#FFEDD5;border-color:#FED7AA;
}
.mc-card:nth-child(2n) .mc-card__icon svg{color:var(--orange)}

.mc-card h3{font-size:1.16rem;margin-bottom:12px;letter-spacing:-.015em;color:var(--ink)}
.mc-card p{margin:0;font-size:.95rem;line-height:1.7;color:var(--muted)}

.mc-card__list{margin:18px 0 0;padding:0;list-style:none}
.mc-card__list li{
  position:relative;padding-left:20px;font-size:.86rem;line-height:1.6;
  color:var(--muted-2);margin-top:7px;
}
.mc-card__list li::before{
  content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;
  background:var(--grad-cool);
}

@media (max-width:1040px){.mc-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){.mc-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){
  .mc-grid--2,.mc-grid--3,.mc-grid--4{grid-template-columns:1fr}
}

/* ---------- processo ---------------------------------------------------- */
.mc-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;position:relative}
.mc-steps::before{
  content:"";position:absolute;top:26px;left:8%;right:8%;height:1px;
  background:linear-gradient(90deg,var(--orange),var(--red) 34%,var(--blue) 70%,var(--cyan));
  opacity:.25;
}
.mc-step{position:relative;padding-top:0}
.mc-step__n{
  position:relative;z-index:1;
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:#FFFFFF;border:1px solid var(--line);box-shadow:var(--shadow-sm);
  font-size:.9rem;font-weight:800;color:var(--ink);letter-spacing:0;
  margin-bottom:22px;
}
.mc-step:nth-child(1) .mc-step__n{border-color:rgba(234,88,12,.4);color:var(--orange)}
.mc-step:nth-child(2) .mc-step__n{border-color:rgba(220,38,38,.4);color:var(--red)}
.mc-step:nth-child(3) .mc-step__n{border-color:rgba(37,99,235,.4);color:var(--blue)}
.mc-step:nth-child(4) .mc-step__n{border-color:rgba(2,132,199,.4);color:var(--cyan)}
.mc-step h3{font-size:1.06rem;margin-bottom:10px;color:var(--ink)}
.mc-step p{margin:0;font-size:.92rem;line-height:1.7;color:var(--muted)}

@media (max-width:900px){
  .mc-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 26px}
  .mc-steps::before{display:none}
}
@media (max-width:560px){.mc-steps{grid-template-columns:1fr}}

/* ---------- marquee de tecnologias -------------------------------------- */
.mc-marquee{
  position:relative;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
}
.mc-marquee + .mc-marquee{margin-top:16px}
.mc-marquee__track{display:flex;width:max-content;animation:mc-slide 42s linear infinite}
.mc-marquee--rev .mc-marquee__track{animation-direction:reverse;animation-duration:52s}
.mc-marquee:hover .mc-marquee__track{animation-play-state:paused}
@keyframes mc-slide{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.mc-marquee__group{display:flex;gap:16px;padding-right:16px;flex:none}
.mc-tech{
  display:inline-flex;align-items:center;gap:10px;flex:none;
  padding:13px 24px;border-radius:999px;
  border:1px solid var(--line);background:#FFFFFF;box-shadow:var(--shadow-sm);
  font-size:.9rem;font-weight:600;color:var(--muted);white-space:nowrap;
  transition:border-color .25s,color .25s,box-shadow .25s;
}
.mc-tech:hover{border-color:var(--cyan);color:var(--ink);box-shadow:var(--shadow-md)}
.mc-tech i{
  width:7px;height:7px;border-radius:50%;flex:none;background:var(--grad-cool);
}
.mc-tech:nth-child(3n) i{background:var(--grad-warm)}

@media (prefers-reduced-motion:reduce){
  .mc-marquee__track{animation:none;flex-wrap:wrap;width:100%}
  .mc-marquee{-webkit-mask-image:none;mask-image:none}
  .mc-marquee__group:nth-child(2){display:none}
  .mc-marquee__group{flex-wrap:wrap}
}

/* ---------- approach / pilares ------------------------------------------ */
.mc-pillar{
  padding:30px 28px;border-radius:var(--radius);
  border:1px solid var(--line);background:#FFFFFF;box-shadow:var(--shadow-sm);
  transition:border-color .3s,box-shadow .3s,transform .3s;
}
.mc-pillar:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-3px)}
.mc-pillar__k{
  font-size:1.9rem;font-weight:800;letter-spacing:-.03em;line-height:1;
  margin-bottom:16px;
}
.mc-pillar h3{font-size:1.06rem;margin-bottom:10px;color:var(--ink)}
.mc-pillar p{margin:0;font-size:.92rem;line-height:1.7;color:var(--muted)}

/* ---------- faixa de CTA ------------------------------------------------ */
.mc-cta{
  position:relative;overflow:hidden;border-radius:24px;
  padding:clamp(40px,6vw,64px) clamp(28px,5vw,58px);
  background:linear-gradient(140deg,#FFFFFF,#F8FAFC);
  border:1px solid var(--line);
  box-shadow:var(--shadow-md);
}
.mc-cta::before{
  content:"";position:absolute;width:420px;aspect-ratio:1;border-radius:50%;
  top:-58%;right:-8%;filter:blur(80px);opacity:.15;pointer-events:none;
  background:radial-gradient(circle,var(--orange),var(--red) 55%,transparent 72%);
}
.mc-cta__inner{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:30px}
.mc-cta__inner > div{flex:1 1 380px;min-width:0}
.mc-cta h2{font-size:clamp(1.6rem,3.4vw,2.3rem);color:var(--ink)}
.mc-cta p{margin:14px 0 0;color:var(--muted)}

/* ==========================================================================
   ESCRITÓRIO & MAPA (Ahtri tn 12, Tallinn)
   ========================================================================== */
.mc-section--office{background:linear-gradient(180deg,var(--bg) 0%,var(--bg-2) 100%)}

.mc-office{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(24px,4vw,46px);align-items:start;
}
.mc-office__shots{display:grid;gap:20px;min-width:0}

.mc-shot{
  margin:0;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);background:#FFFFFF;box-shadow:var(--shadow-sm);
}
.mc-shot img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.mc-shot figcaption{
  padding:13px 18px;border-top:1px solid var(--line);
  font-size:.8rem;line-height:1.55;color:var(--muted-2);font-style:italic;
  background:#FFFFFF;
}

.mc-office__side{display:grid;gap:18px;align-content:start;min-width:0}
.mc-office__card{
  padding:30px 28px;border-radius:var(--radius);
  border:1px solid var(--line);background:#FFFFFF;box-shadow:var(--shadow-sm);
}
.mc-office__addr{display:grid;gap:20px;font-style:normal}
.mc-fact{display:grid;gap:5px}
.mc-fact__k{
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted-2);font-weight:600;
}
.mc-fact__v{color:var(--ink);font-size:1rem;font-weight:600;line-height:1.6}

/* Frame do mapa integrado */
.mc-office__map-frame{
  margin-top:20px;
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  background:var(--bg-2);
}
.mc-office__map-frame iframe{
  display:block;
  width:100%;
  height:220px;
  border:0;
}

.mc-office__map{width:100%;margin-top:20px;padding-inline:22px}
.mc-office__map svg{color:var(--cyan)}

.mc-credit{margin:0;font-size:.76rem;line-height:1.65;color:var(--muted-2)}
.mc-credit a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.mc-credit a:hover{color:var(--cyan)}

@media (max-width:900px){
  .mc-office{grid-template-columns:1fr}
  .mc-office__side{display:contents}
  .mc-office__card{order:-1}
  .mc-office__shots{order:0}
  .mc-credit{order:1}
}

/* ==========================================================================
   CONTATO
   ========================================================================== */
.mc-contact{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,62px)}
@media (max-width:900px){.mc-contact{grid-template-columns:1fr}}

.mc-contact__links{margin-top:34px;display:flex;flex-direction:column;gap:14px}
.mc-ct{
  display:flex;align-items:center;gap:15px;
  padding:17px 20px;border-radius:14px;
  border:1px solid var(--line);background:#FFFFFF;box-shadow:var(--shadow-sm);
  transition:border-color .28s,transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s;
}
.mc-ct:hover{border-color:var(--cyan);transform:translateX(3px);box-shadow:var(--shadow-md)}
.mc-ct__ico{
  width:42px;height:42px;flex:none;border-radius:11px;display:grid;place-items:center;
  background:#E0F2FE;border:1px solid #BAE6FD;
}
.mc-ct__ico svg{width:19px;height:19px;color:var(--cyan)}
.mc-ct__t{display:block;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-2);font-weight:600}
.mc-ct__v{display:block;color:var(--ink);font-weight:600;font-size:.97rem;word-break:break-word}

/* Formulário do Elementor em tons claros */
.mc-form .elementor-field-group{margin-bottom:4px}
.mc-form .elementor-field-group > label{
  font-size:.75rem!important;font-weight:600!important;letter-spacing:.12em!important;
  text-transform:uppercase!important;color:var(--muted-2)!important;margin-bottom:9px!important;
}
.mc-form .elementor-field-textual{
  background:#FFFFFF!important;
  border:1px solid var(--line-strong)!important;
  border-radius:12px!important;
  color:var(--ink)!important;
  padding:15px 18px!important;
  font-family:var(--font)!important;font-size:.95rem!important;
  min-height:54px;
  box-shadow:0 1px 2px rgba(15,23,42,.03);
  transition:border-color .25s,box-shadow .25s,background .25s;
}
.mc-form textarea.elementor-field-textual{min-height:140px;line-height:1.65}
.mc-form .elementor-field-textual::placeholder{color:#94A3B8!important;opacity:1}
.mc-form .elementor-field-textual:focus{
  border-color:var(--cyan)!important;
  background:#FFFFFF!important;
  box-shadow:0 0 0 3px rgba(2,132,199,.15)!important;
  outline:none!important;
}
.mc-form select.elementor-field-textual{
  appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 21px) 24px,calc(100% - 15px) 24px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;
}
.mc-form .elementor-button[type="submit"]{
  background:var(--grad-warm)!important;color:#fff!important;
  border-radius:999px!important;border:0!important;
  padding:16px 34px!important;
  font-family:var(--font)!important;font-size:.94rem!important;font-weight:700!important;
  letter-spacing:.01em!important;line-height:1.2!important;
  box-shadow:0 10px 25px -8px rgba(234,88,12,.45);
  transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s;
}
.mc-form .elementor-button[type="submit"]:hover{
  transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(234,88,12,.6);
}
.mc-form .elementor-message{
  font-family:var(--font);font-size:.92rem;border-radius:12px;padding:13px 16px;margin-top:14px;
}
.mc-form .elementor-message-success{background:#E0F2FE;color:var(--cyan);border:1px solid #BAE6FD}
.mc-form .elementor-message-danger{background:#FEE2E2;color:var(--red);border:1px solid #FECACA}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.mc-footer{
  border-top:1px solid var(--line);
  background:var(--bg-2);
  padding:clamp(50px,7vw,72px) 0 34px;
}
.mc-footer__top{
  display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);
  gap:40px;padding-bottom:40px;
}
.mc-footer__logo img{width:186px;height:auto;margin-bottom:20px}
.mc-footer p{margin:0;font-size:.92rem;line-height:1.7;max-width:38ch;color:var(--muted)}
.mc-footer h4{
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);
  font-weight:600;margin-bottom:16px;
}
.mc-footer__h2{margin-top:28px}
.mc-footer__addr{font-style:normal;font-size:.93rem;line-height:1.75;color:var(--muted)}
.mc-footer ul{list-style:none;margin:0;padding:0}
.mc-footer ul li + li{margin-top:11px}
.mc-footer ul a{color:var(--muted);font-size:.93rem;transition:color .22s}
.mc-footer ul a:hover{color:var(--ink)}
.mc-footer__bar{
  border-top:1px solid var(--line);padding-top:26px;
  display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
  font-size:.83rem;color:var(--muted-2);
}
.mc-footer__bar b{color:var(--ink);font-weight:600}
.mc-social{display:flex;gap:10px}
.mc-social a{
  width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  border:1px solid var(--line);background:#FFFFFF;color:var(--muted);box-shadow:var(--shadow-sm);
  transition:border-color .25s,color .25s,transform .25s;
}
.mc-social a:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-2px)}
.mc-social svg{width:17px;height:17px}

@media (max-width:820px){
  .mc-footer__top{grid-template-columns:1fr 1fr;gap:34px}
  .mc-footer__brand{grid-column:1/-1}
}
@media (max-width:520px){
  .mc-footer__top{grid-template-columns:1fr}
  .mc-footer__bar{flex-direction:column;align-items:flex-start}
}

/* ==========================================================================
   ENTRADA POR ELEMENTO
   ========================================================================== */
html.mc-js .mc-rise{opacity:0;transform:translateY(20px)}
html.mc-js .mc-rise.is-in{
  opacity:1;transform:none;
  transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);
}
html.mc-js .mc-rise.d1{transition-delay:.06s}
html.mc-js .mc-rise.d2{transition-delay:.14s}
html.mc-js .mc-rise.d3{transition-delay:.22s}
html.mc-js .mc-rise.d4{transition-delay:.30s}

@media (prefers-reduced-motion:reduce){
  html.mc-js .mc-rise{opacity:1;transform:none;transition:none}
}

/* ==========================================================================
   PONTE COM OS WIDGETS NATIVOS DO ELEMENTOR
   ========================================================================== */
.mc-page .mc-hero__col,
.mc-page .mc-contact > *{min-width:0}
.mc-page .mc-contact{display:grid}

.mc-page .mc-h2 .elementor-heading-title{
  font-size:clamp(1.85rem,4vw,2.9rem);
  color:var(--ink);font-weight:800;letter-spacing:-.02em;line-height:1.15;
}
.mc-page .mc-hero .elementor-widget-heading .elementor-heading-title{
  font-size:clamp(2.25rem,5.6vw,4rem);
  color:var(--ink);font-weight:800;letter-spacing:-.03em;line-height:1.06;
}

.mc-page .mc-lead{max-width:62ch;margin-top:18px}
.mc-page .mc-lead p{
  margin:0;color:var(--muted);
  font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.75;
}
.mc-page .mc-hero .mc-lead{max-width:52ch}
.mc-page .mc-section__head--center .mc-lead{margin-inline:auto}

.mc-page .mc-btn-p .elementor-button,
.mc-page .mc-btn-g .elementor-button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:15px 30px;border-radius:999px;border:1px solid transparent;
  font-family:var(--font);font-size:.94rem;font-weight:700;letter-spacing:.01em;
  line-height:1.2;text-shadow:none;
  transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,background .25s,border-color .25s,color .25s;
}
.mc-page .mc-btn-p .elementor-button{
  background:var(--grad-warm);color:#fff;
  box-shadow:0 10px 25px -8px rgba(234,88,12,.45);
}
.mc-page .mc-btn-p .elementor-button:hover,
.mc-page .mc-btn-p .elementor-button:focus{
  transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(234,88,12,.6);color:#fff;
}
.mc-page .mc-btn-g .elementor-button{
  background:#FFFFFF;color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm);
}
.mc-page .mc-btn-g .elementor-button:hover,
.mc-page .mc-btn-g .elementor-button:focus{
  transform:translateY(-2px);border-color:var(--cyan);
  background:#F0F9FF;color:var(--cyan);
}
@media (prefers-reduced-motion:reduce){
  .mc-page .mc-btn-p .elementor-button:hover,
  .mc-page .mc-btn-g .elementor-button:hover{transform:none}
}

.mc-page .mc-hero__cta > .elementor-widget{width:auto;flex:0 0 auto}
.mc-page .mc-hero__cta .elementor-widget-button .elementor-button-wrapper{display:flex}
@media (max-width:600px){
  .mc-page .mc-hero__cta > .elementor-widget{width:100%}
  .mc-page .mc-hero__cta .elementor-button{width:100%}
}

.mc-page .elementor-widget-html .elementor-widget-container{line-height:inherit}
.mc-page .elementor-widget-html > .elementor-widget-container > .mc-header,
.mc-page .elementor-widget-html > .elementor-widget-container > .mc-footer{margin:0}

.mc-page .mc-hero__artw{
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.mc-page .mc-hero__row{position:relative;z-index:1}

/* ==========================================================================
   CONSENTIMENTO GDPR
   ========================================================================== */
.mc-form .elementor-field-type-acceptance{margin-top:6px}
.mc-form .elementor-field-type-acceptance .elementor-field-subgroup{margin:0}
.mc-form .elementor-field-option{display:flex;align-items:flex-start;gap:11px}

.mc-form input[type="checkbox"].elementor-acceptance-field{
  appearance:none;-webkit-appearance:none;
  flex:none;width:19px;height:19px;margin:3px 0 0;
  border:1px solid var(--line-strong);border-radius:6px;
  background:#FFFFFF;
  cursor:pointer;position:relative;
  transition:border-color .2s,background .2s;
}
.mc-form input[type="checkbox"].elementor-acceptance-field:hover{border-color:var(--cyan)}
.mc-form input[type="checkbox"].elementor-acceptance-field:checked{
  background:var(--grad-cool);border-color:transparent;
}
.mc-form input[type="checkbox"].elementor-acceptance-field:checked::after{
  content:"";position:absolute;left:6px;top:2px;
  width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;
  transform:rotate(43deg);
}
.mc-form input[type="checkbox"].elementor-acceptance-field:focus-visible{
  outline:2px solid var(--cyan);outline-offset:2px;
}
.mc-form .elementor-field-type-acceptance label{
  font-size:.82rem;line-height:1.6;color:var(--muted-2);
  font-weight:400;letter-spacing:0;text-transform:none;cursor:pointer;margin:0;
}
.mc-form .elementor-field-type-acceptance label a{
  color:var(--cyan);text-decoration:underline;text-underline-offset:2px;
}
.mc-form .elementor-field-type-acceptance label a:hover{color:var(--ink)}

/* ==========================================================================
   PÁGINAS INTERNAS — sub-hero e texto legal (/privacy/)
   ========================================================================== */
.mc-subhero{padding:calc(var(--header-h) + clamp(52px,7vw,84px)) 0 clamp(34px,5vw,54px);background:var(--bg)}
.mc-subhero__col{position:relative;z-index:1}
.mc-subhero h1{font-size:clamp(2.1rem,5.2vw,3.4rem);margin:14px 0 18px;color:var(--ink)}
.mc-subhero p{max-width:56ch;font-size:1.02rem;color:var(--muted)}

.mc-legal{max-width:74ch;margin-inline:auto}
.mc-legal h2{
  font-size:clamp(1.15rem,2.2vw,1.42rem);
  margin:52px 0 14px;padding-top:26px;border-top:1px solid var(--line);
  color:var(--ink);
}
.mc-legal > h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.mc-legal h3{font-size:1rem;color:var(--ink);margin:26px 0 8px}
.mc-legal p{margin:0 0 15px;font-size:.97rem;line-height:1.8;color:var(--muted)}
.mc-legal b{color:var(--ink);font-weight:600}
.mc-legal a{color:var(--cyan);text-decoration:underline;text-underline-offset:2px}
.mc-legal a:hover{color:var(--ink)}
.mc-legal__addr{
  padding:18px 22px;margin-bottom:15px;
  border:1px solid var(--line);border-radius:14px;
  background:#FFFFFF;box-shadow:var(--shadow-sm);line-height:1.75;
}
.mc-legal ul{margin:0 0 15px;padding-left:20px}
.mc-legal li{margin-bottom:9px;font-size:.97rem;line-height:1.75;color:var(--muted)}
.mc-legal li::marker{color:var(--cyan)}

.mc-legal__meta{
  font-size:.78rem!important;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted-2);margin-bottom:22px!important;
}
.mc-legal__intro{
  font-size:1.05rem!important;color:var(--ink);line-height:1.75!important;
  padding:22px 24px;border-radius:var(--radius);
  background:#FFFFFF;border:1px solid var(--line);box-shadow:var(--shadow-sm);
  border-left:3px solid var(--cyan);
}

.mc-legal__table{
  width:100%;border-collapse:collapse;margin:6px 0 18px;
  font-size:.9rem;display:block;overflow-x:auto;
}
.mc-legal__table th,.mc-legal__table td{
  text-align:left;padding:12px 14px;border:1px solid var(--line);vertical-align:top;
  min-width:210px;
}
.mc-legal__table th{
  color:var(--ink);font-weight:600;background:var(--bg-2);
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
}
.mc-legal__table td{color:var(--muted);background:#FFFFFF}

.mc-legal__cta{
  margin-top:54px;padding:26px 28px;border-radius:var(--radius);
  background:#FFFFFF;border:1px solid var(--line);box-shadow:var(--shadow-sm);
  display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;
}
.mc-legal__cta p{margin:0!important;color:var(--ink);font-weight:600}

.mc-footer__legal{color:var(--muted-2);margin-left:6px}
.mc-footer__legal::before{content:"·";margin-right:8px;color:var(--line)}
.mc-footer__legal:hover{color:var(--ink)}

/* ==========================================================================
   Medial Company — medialcompany.com
   Dark Theme, Contrasting Light Navbar, GTranslate & Estonian Identity
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. GLOBAL DARK PALETTE (Design System Escuro)
   -------------------------------------------------------------------------- */
:root {
  --bg: #0B0F19;               /* Slate-950 / Preto carvão profundo */
  --bg-2: #111827;             /* Slate-900 para seções alternadas */
  --panel: #161F30;            /* Cards e superfícies elevadas */
  --panel-2: #1E293B;          /* Superfície secundária */
  --line: rgba(255, 255, 255, 0.08); /* Bordas suaves e translúcidas */
  --line-strong: rgba(255, 255, 255, 0.16); /* Bordas de inputs e divisores */
  --ink: #F8FAFC;              /* Títulos e textos de alto contraste (Slate-50) */
  --muted: #94A3B8;            /* Texto corrido e parágrafos legíveis (Slate-400) */
  --muted-2: #64748B;          /* Legendas e etiquetas secundárias (Slate-500) */

  --shadow-sm: 0 2px 8px -1px rgba(0, 0, 0, 0.4), 0 1px 3px -1px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 10px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 20px 35px -10px rgba(0, 0, 0, 0.6), 0 10px 15px -8px rgba(0, 0, 0, 0.5);

  --teal-card-bg: #24B47E;
  --teal-card-ink: #0F172A;
  --teal-card-label: #064E3B;
}

body.mc-page {
  background-color: var(--bg) !important;
  color: var(--muted) !important;
}

/* --------------------------------------------------------------------------
   2. NAVBAR EM CONTRASTE CLARO (Light Header)
   -------------------------------------------------------------------------- */
.mc-header {
  background: rgba(255, 255, 255, 0.96) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid #E2E8F0 !important;
  box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.25) !important;
}
.mc-header.is-stuck {
  background: rgba(255, 255, 255, 0.98) !important;
  border-bottom-color: #CBD5E1 !important;
  box-shadow: 0 8px 28px -2px rgba(0, 0, 0, 0.35) !important;
}
.mc-header__inner {
  display: flex;
  align-items: center;
  gap: 20px;
}
.mc-nav a {
  color: #334155 !important;
}
.mc-nav a:hover,
.mc-nav a.is-active {
  color: #0F172A !important;
}
.mc-burger {
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
}
.mc-burger span,
.mc-burger span::before,
.mc-burger span::after {
  background: #0F172A !important;
}
.mc-drawer {
  background: rgba(255, 255, 255, 0.98) !important;
}
.mc-drawer .mc-nav a {
  color: #0F172A !important;
}

/* --------------------------------------------------------------------------
   3. GTRANSLATE NO CANTO SUPERIOR ESQUERDO DO MENU
   -------------------------------------------------------------------------- */
.mc-lang-selector {
  flex: none;
  order: -1;
  display: inline-flex;
  align-items: center;
  margin-right: 6px;
}
.mc-lang-selector .gtranslate_wrapper,
.mc-lang-selector .gt_switcher {
  display: inline-flex !important;
  align-items: center !important;
}
.mc-lang-selector .gt_switcher {
  background: #F1F5F9 !important;
  border: 1px solid #E2E8F0 !important;
  border-radius: 9999px !important;
  padding: 4px 10px !important;
  transition: all 0.2s ease !important;
}
.mc-lang-selector .gt_switcher:hover {
  background: #E2E8F0 !important;
  border-color: #CBD5E1 !important;
}
.mc-lang-selector select,
.mc-lang-selector .gt_selected {
  font-family: var(--font) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  color: #1E293B !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  outline: none !important;
}
@media (max-width: 900px) {
  .mc-lang-selector {
    margin-right: auto;
  }
}

/* --------------------------------------------------------------------------
   4. ESTILOS DE COMPONENTES NO DARK MODE
   -------------------------------------------------------------------------- */
.mc-section h2,
.mc-h2 h2,
.elementor-heading-title {
  color: var(--ink) !important;
}
.mc-section p,
.mc-lead,
.mc-lead p {
  color: var(--muted) !important;
}

/* Botões do Hero */
.mc-page .mc-btn-g .elementor-button {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #F8FAFC !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}
.mc-page .mc-btn-g .elementor-button:hover,
.mc-page .mc-btn-g .elementor-button:focus {
  background: rgba(255, 255, 255, 0.15) !important;
  border-color: #38BDF8 !important;
  color: #FFFFFF !important;
}

/* Badges e Chips do Hero */
.mc-chip {
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
}
.mc-chip:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: var(--line-strong) !important;
}

.mc-chip--estonia {
  background: rgba(36, 180, 126, 0.15) !important;
  border: 1px solid rgba(36, 180, 126, 0.45) !important;
  color: #34D399 !important;
  font-weight: 600 !important;
}

/* Cards de Serviços e Pillars */
.mc-card {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow-sm) !important;
}
.mc-card:hover {
  border-color: var(--line-strong) !important;
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-4px);
}
.mc-card h3 { color: var(--ink) !important; }
.mc-card p { color: var(--muted) !important; }
.mc-card__icon { background: rgba(255, 255, 255, 0.06) !important; }

.mc-pillar {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
}
.mc-pillar:hover { border-color: var(--line-strong) !important; }
.mc-pillar h3 { color: var(--ink) !important; }
.mc-pillar p { color: var(--muted) !important; }

.mc-step__n {
  background: var(--panel-2) !important;
  border: 1px solid var(--line-strong) !important;
  color: var(--ink) !important;
}
.mc-step h3 { color: var(--ink) !important; }

.mc-tech {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
}

.mc-btn--ghost {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid var(--line-strong) !important;
  color: var(--ink) !important;
}
.mc-btn--ghost:hover {
  background: rgba(255, 255, 255, 0.12) !important;
  color: #FFFFFF !important;
}

/* Formulário de Contato no Dark Mode */
.mc-form .elementor-field-group > label {
  color: var(--muted) !important;
}
.mc-form .elementor-field-textual {
  background: #111827 !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #F8FAFC !important;
}
.mc-form .elementor-field-textual:focus {
  border-color: #38BDF8 !important;
  background: #162032 !important;
  box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.15) !important;
}
.mc-form .elementor-field-textual::placeholder {
  color: #64748B !important;
}
.mc-form .elementor-select-wrapper select {
  background-color: #111827 !important;
  color: #F8FAFC !important;
}
.mc-form .elementor-acceptance-field + label {
  color: var(--muted) !important;
}

/* Links de Contato (ex: Facebook) */
.mc-ct {
  background: var(--panel) !important;
  border: 1px solid var(--line) !important;
  box-shadow: var(--shadow-sm) !important;
}
.mc-ct:hover {
  border-color: var(--line-strong) !important;
  background: var(--panel-2) !important;
}
.mc-ct__ico {
  background: rgba(2, 132, 199, 0.15) !important;
  border-color: rgba(2, 132, 199, 0.3) !important;
}
.mc-ct__t {
  color: var(--muted-2) !important;
}
.mc-ct__v {
  color: var(--ink) !important;
}

/* --------------------------------------------------------------------------
   5. BLOCOS ESTRATÉGICOS CLAROS (Visual Breathing Room)
   -------------------------------------------------------------------------- */
.mc-section--office {
  background: #F8FAFC !important;
  color: #0F172A !important;
  border-top: 1px solid #E2E8F0;
  border-bottom: 1px solid #E2E8F0;
}
.mc-section--office .mc-eyebrow { color: #0284C7 !important; }
.mc-section--office .mc-h2 h2,
.mc-section--office h2,
.mc-section--office .elementor-heading-title {
  color: #0F172A !important;
}
.mc-section--office .mc-lead,
.mc-section--office .mc-lead p,
.mc-section--office p {
  color: #334155 !important;
}
.mc-section--office .mc-office__card {
  background: #FFFFFF !important;
  border: 1px solid #E2E8F0 !important;
  box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.08) !important;
}
.mc-section--office .mc-fact__k { color: #64748B !important; }
.mc-section--office .mc-fact__v { color: #0F172A !important; }
.mc-section--office .mc-btn--ghost {
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  color: #0F172A !important;
}

/* --------------------------------------------------------------------------
   6. NOVO CARD DE CONTATO & IDENTIDADE ESTONIANA (Baseado nas Imagens de Referência)
   -------------------------------------------------------------------------- */
.mc-estonia-card {
  background: var(--teal-card-bg);
  background: linear-gradient(145deg, #26BA83 0%, #1E9E6E 100%);
  color: var(--teal-card-ink);
  border-radius: 44px 16px 16px 16px;
  padding: clamp(28px, 4vw, 42px);
  box-shadow: 0 20px 40px -10px rgba(36, 180, 126, 0.35);
  display: flex;
  flex-direction: column;
  gap: 20px;
  position: relative;
  overflow: hidden;
  margin-top: 24px;
}

.mc-estonia-card::after {
  content: "ESTONIA 🇪🇪";
  position: absolute;
  right: -10px;
  bottom: -15px;
  font-size: 3.5rem;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.1);
  letter-spacing: .05em;
  pointer-events: none;
  user-select: none;
}

.mc-estonia-card__title {
  font-size: 1.45rem;
  font-weight: 800;
  color: #0B1914;
  margin: 0;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.mc-estonia-card__row {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.mc-estonia-card__label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #064E3B;
  opacity: 0.9;
}

.mc-estonia-card__value {
  font-size: 0.98rem;
  font-weight: 600;
  color: #042F24;
  line-height: 1.5;
  margin: 0;
}

.mc-estonia-card__value a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(6, 78, 59, 0.4);
}
.mc-estonia-card__value a:hover {
  text-decoration-color: #064E3B;
}

/* --------------------------------------------------------------------------
   7. FOOTER ATUALIZADO
   -------------------------------------------------------------------------- */
.mc-footer {
  background: #070B12 !important;
  border-top: 1px solid var(--line) !important;
}
.mc-footer__top h4 { color: #CBD5E1 !important; }
.mc-footer__top ul a { color: var(--muted) !important; }
.mc-footer__top ul a:hover { color: #FFFFFF !important; }
.mc-footer__addr {
  color: var(--muted) !important;
  line-height: 1.7;
}
.mc-footer__bar {
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
  color: var(--muted-2) !important;
}
.mc-footer__bar a { color: var(--muted) !important; }
.mc-footer__bar a:hover { color: #FFFFFF !important; }


/* Overrides de alta especificidade para garantir contraste perfeito */
.mc-estonia-card .mc-estonia-card__title {
  color: #051A14 !important;
  font-weight: 800 !important;
}
.mc-estonia-card .mc-estonia-card__label {
  color: #064E3B !important;
  font-weight: 800 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
}
.mc-estonia-card .mc-estonia-card__value,
.mc-estonia-card p {
  color: #04241B !important;
  font-weight: 600 !important;
  font-size: 0.98rem !important;
  line-height: 1.5 !important;
}
.mc-estonia-card a {
  color: #04241B !important;
  text-decoration: underline !important;
  font-weight: 700 !important;
}

/* Card do Facebook em harmonia com o Dark Mode */
.mc-contact__links .mc-ct {
  background: #141C2B !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.mc-contact__links .mc-ct:hover {
  background: #1A2438 !important;
  border-color: rgba(56, 189, 248, 0.4) !important;
}
.mc-contact__links .mc-ct__t {
  color: #94A3B8 !important;
}
.mc-contact__links .mc-ct__v {
  color: #F8FAFC !important;
}



/* --------------------------------------------------------------------------
   GTRANSLATE: DROPDOWN FUNCIONAL E VISUAL REFINADO NO CANTO SUPERIOR ESQUERDO
   -------------------------------------------------------------------------- */
.mc-lang-selector {
  position: relative !important;
  display: inline-block !important;
  flex: none !important;
  order: -1 !important;
  margin-right: 14px !important;
  z-index: 9999 !important;
}

.mc-lang-selector .gt_switcher {
  position: relative !important;
  display: block !important;
  width: auto !important;
  overflow: visible !important;
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  line-height: normal !important;
}

.mc-lang-selector .gt_selected {
  position: relative !important;
  background: transparent !important;
  border-radius: 10px !important;
}

.mc-lang-selector .gt_selected a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 14px !important;
  border: none !important;
  color: #1E293B !important;
  font-family: var(--font) !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  width: auto !important;
  box-sizing: border-box !important;
}

.mc-lang-selector .gt_selected a img {
  border-radius: 2px !important;
  vertical-align: middle !important;
}

.mc-lang-selector .gt_option {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  min-width: 175px !important;
  width: max-content !important;
  max-height: 280px !important;
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 10px !important;
  box-shadow: 0 14px 35px -4px rgba(0, 0, 0, 0.22) !important;
  z-index: 999999 !important;
  overflow-y: auto !important;
  padding: 6px 0 !important;
}

.mc-lang-selector .gt_option a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px !important;
  color: #334155 !important;
  font-family: var(--font) !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  transition: background 0.15s, color 0.15s !important;
  box-sizing: border-box !important;
}

.mc-lang-selector .gt_option a:hover {
  background: #F1F5F9 !important;
  color: #0F172A !important;
}

.mc-lang-selector .gt_option a img {
  border-radius: 2px !important;
  vertical-align: middle !important;
}


/* Refinamento de espaçamento para o botão do GTranslate e seta */
.mc-lang-selector .gt_selected a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 28px 6px 12px !important;
  min-width: 112px !important;
  box-sizing: border-box !important;
}



/* --------------------------------------------------------------------------
   GTRANSLATE: NO CANTO DIREITO E ALINHADO AO CENTRO DO HEADER
   -------------------------------------------------------------------------- */
.mc-lang-selector {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  flex: none !important;
  order: 2 !important; /* Posicionado no canto direito, após o botão CTA */
  margin-left: 10px !important;
  margin-right: 0 !important;
  z-index: 9999 !important;
}

@media (max-width: 900px) {
  .mc-lang-selector {
    margin-left: auto !important;
    margin-right: 12px !important;
    order: 1 !important;
  }
}

.mc-lang-selector .gt_switcher {
  position: relative !important;
  display: block !important;
  width: auto !important;
  overflow: visible !important;
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  line-height: normal !important;
}

.mc-lang-selector .gt_selected {
  position: relative !important;
  background: transparent !important;
  border-radius: 10px !important;
}

.mc-lang-selector .gt_selected a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 28px 7px 12px !important;
  min-width: 112px !important;
  border: none !important;
  color: #1E293B !important;
  font-family: var(--font) !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  width: auto !important;
  box-sizing: border-box !important;
}

.mc-lang-selector .gt_selected a img {
  border-radius: 2px !important;
  vertical-align: middle !important;
}

/* O dropdown abre para a direita, alinhando a borda direita para não transbordar da tela */
.mc-lang-selector .gt_option {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  right: 0 !important;
  left: auto !important;
  min-width: 175px !important;
  width: max-content !important;
  max-height: 280px !important;
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 10px !important;
  box-shadow: 0 14px 35px -4px rgba(0, 0, 0, 0.22) !important;
  z-index: 999999 !important;
  overflow-y: auto !important;
  padding: 6px 0 !important;
}

.mc-lang-selector .gt_option a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 14px !important;
  color: #334155 !important;
  font-family: var(--font) !important;
  font-size: 0.84rem !important;
  font-weight: 600 !important;
  transition: background 0.15s, color 0.15s !important;
  box-sizing: border-box !important;
}

.mc-lang-selector .gt_option a:hover {
  background: #F1F5F9 !important;
  color: #0F172A !important;
}

.mc-lang-selector .gt_option a img {
  border-radius: 2px !important;
  vertical-align: middle !important;
}



/* --------------------------------------------------------------------------
   ALINHAMENTO DA LINHA DE DIREITOS DO FOOTER E REDES SOCIAIS
   -------------------------------------------------------------------------- */
.mc-footer__bar {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-top: 24px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  font-size: 0.86rem !important;
  color: var(--muted-2) !important;
}

.mc-footer__copyright {
  display: inline-flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  line-height: 1.6 !important;
}

.mc-footer__copyright strong {
  color: #F8FAFC !important;
  font-weight: 700 !important;
}

.mc-footer__sep {
  margin: 0 4px !important;
  opacity: 0.5 !important;
}

.mc-footer__legal {
  color: var(--muted) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.mc-footer__legal:hover {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}

.mc-social {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.mc-social a {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  display: grid !important;
  place-items: center !important;
  background: #141C2B !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  color: var(--muted) !important;
  box-shadow: var(--shadow-sm) !important;
  transition: all 0.22s ease !important;
}

.mc-social a:hover {
  background: #1E293B !important;
  border-color: #38BDF8 !important;
  color: #38BDF8 !important;
  transform: translateY(-2px) !important;
}

.mc-social svg {
  width: 18px !important;
  height: 18px !important;
}

@media (max-width: 600px) {
  .mc-footer__bar {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 18px !important;
  }
}



/* --------------------------------------------------------------------------
   RODAPÉ: LINHA DE DIREITOS CENTRALIZADA NO MEIO E LOGO BRANCA
   -------------------------------------------------------------------------- */
.mc-footer__logo img {
  width: 186px !important;
  height: auto !important;
}

.mc-footer__bar {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-top: 26px !important;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  font-size: 0.86rem !important;
  color: var(--muted-2) !important;
}

.mc-footer__spacer {
  display: block;
}

.mc-footer__copyright {
  grid-column: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  line-height: 1.6 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.mc-footer__copyright strong,
.mc-footer__copyright b {
  color: #F8FAFC !important;
  font-weight: 700 !important;
}

.mc-footer__sep {
  margin: 0 4px !important;
  opacity: 0.5 !important;
}

.mc-footer__legal {
  color: var(--muted) !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}

.mc-footer__legal:hover {
  color: #FFFFFF !important;
  text-decoration: underline !important;
}

.mc-social {
  grid-column: 3 !important;
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

@media (max-width: 900px) {
  .mc-footer__bar {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 16px !important;
  }
  .mc-footer__spacer {
    display: none !important;
  }
  .mc-footer__copyright {
    white-space: normal !important;
  }
  .mc-social {
    justify-self: center !important;
  }
}



/* --------------------------------------------------------------------------
   REFINAMENTOS SOLICITADOS PELO USUÁRIO (PADDING HEADER, LEGAL, FOOTER)
   -------------------------------------------------------------------------- */

/* 1. Header padding horizontal 10px sugerido para acomodar traduções mais longas */
.mc-header__inner {
  padding-inline: 10px !important;
  gap: 16px !important;
}
.mc-nav {
  gap: 22px !important;
}

/* 2. Cores da página de privacidade (.mc-legal) em harmonia com Dark Mode */
.mc-legal__intro,
.mc-legal__addr,
.mc-legal__table td,
.mc-legal__cta {
  background: #FFFFFF !important;
  color: #1E293B !important;
}
.mc-legal__intro b,
.mc-legal__addr b,
.mc-legal__cta p,
.mc-legal__table td b {
  color: #0F172A !important;
}

/* Botão da página de privacidade com texto branco como os demais */
.mc-legal__cta .mc-btn,
.mc-legal__cta a.mc-btn,
.mc-legal a.mc-btn--primary {
  color: #FFFFFF !important;
  text-decoration: none !important;
}
.mc-legal__cta .mc-btn:hover,
.mc-legal__cta a.mc-btn:hover {
  color: #FFFFFF !important;
}

/* Links da página de privacidade: nunca ficam brancos no hover em cartões claros */
.mc-legal a {
  color: #0284C7 !important;
  text-decoration: underline !important;
  transition: color 0.2s !important;
}
.mc-legal a:hover {
  color: #0369A1 !important;
}

/* 3. Inicial maiúscula nos itens de menu do rodapé */
.mc-footer ul li a {
  display: inline-block;
}
.mc-footer ul li a::first-letter {
  text-transform: uppercase !important;
}

/* 4. Linha de registro oficial no rodapé sem quebra e com cor destacada */
.mc-footer__reg-line {
  color: #38BDF8 !important;
  font-weight: 600 !important;
  margin: 4px 0 !important;
  display: block !important;
}
.mc-footer__reg-line span {
  color: inherit !important;
}

/* 5. Linha de direitos autorais no centro exato (sem repetição de Privacy Policy) */
.mc-footer__legal::before {
  content: "" !important;
  display: none !important;
}
.mc-footer__bar {
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-top: 26px !important;
  display: grid !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  gap: 16px !important;
  font-size: 0.86rem !important;
  color: var(--muted-2) !important;
}
.mc-footer__spacer {
  display: block;
}
.mc-footer__copyright {
  grid-column: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
}
.mc-footer__copyright strong,
.mc-footer__copyright b {
  color: #F8FAFC !important;
  font-weight: 700 !important;
}

.mc-social {
  grid-column: 3 !important;
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

@media (max-width: 900px) {
  .mc-footer__bar {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 16px !important;
  }
  .mc-footer__spacer {
    display: none !important;
  }
  .mc-footer__copyright {
    white-space: normal !important;
  }
  .mc-social {
    justify-self: center !important;
  }
}


/* Espaçamento garantido entre o rótulo do código de registro e o número */
.mc-footer__reg-line span[translate="no"],
.mc-footer__reg-line .notranslate,
.mc-footer__reg-code {
  margin-left: 3px !important;
  display: inline-block !important;
}


/* --------------------------------------------------------------------------
   CAPITALIZAÇÃO AUTOMÁTICA DA INICIAL EM TÍTULOS E CABEÇALHOS (MULTILÍNGUE)
   Garante que traduções automáticas (ex: "política de Privacidade") exibam
   sempre a primeira letra maiúscula ("Política de Privacidade").
   -------------------------------------------------------------------------- */
h1, h2, h3, h4,
.elementor-heading-title,
.mc-h1, .mc-h2,
.mc-legal h2, .mc-legal h3,
.mc-card h3, .mc-pillar h3, .mc-step h3 {
  display: block;
}

h1::first-letter,
h2::first-letter,
h3::first-letter,
h4::first-letter,
.elementor-heading-title::first-letter,
.mc-h1::first-letter,
.mc-h2::first-letter,
.mc-legal h2::first-letter,
.mc-legal h3::first-letter,
.mc-card h3::first-letter,
.mc-pillar h3::first-letter,
.mc-step h3::first-letter {
  text-transform: uppercase !important;
}


/* Formatação precisa de medialcompany.com com vírgula sem negrito e sem espaço */











/* Vírgula sem negrito e sem espaço após medialcompany.com */






/* Estilo semântico e limpo para .mc-legal__intro */
.mc-legal__intro {
  color: #334155 !important;
}
.mc-legal__intro strong,
.mc-legal__intro b {
  color: #0F172A !important;
  font-weight: 700 !important;
}


/* --------------------------------------------------------------------------
   MENU MOBILE HAMBÚRGUER E DRAWER COM SELETOR DE IDIOMA EMBAIXO
   -------------------------------------------------------------------------- */
.mc-burger {
  display: none;
  margin-left: auto;
  width: 44px;
  height: 44px;
  flex: none;
  align-items: center;
  justify-content: center;
  background: #FFFFFF !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
  cursor: pointer;
  padding: 0;
  z-index: 910;
}
.mc-burger span {
  display: block;
  width: 19px;
  height: 2px;
  border-radius: 2px;
  background: #0F172A !important;
  position: relative;
  transition: background 0.2s;
}
.mc-burger span::before,
.mc-burger span::after {
  content: "";
  position: absolute;
  left: 0;
  width: 19px;
  height: 2px;
  border-radius: 2px;
  background: #0F172A !important;
  transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1), top 0.28s;
}
.mc-burger span::before { top: -6px; }
.mc-burger span::after { top: 6px; }
.mc-burger[aria-expanded="true"] span { background: transparent !important; }
.mc-burger[aria-expanded="true"] span::before { top: 0; transform: rotate(45deg); }
.mc-burger[aria-expanded="true"] span::after { top: 0; transform: rotate(-45deg); }

/* Gaveta Drawer Mobile */
.mc-drawer {
  position: fixed;
  inset: var(--header-h) 0 auto 0;
  z-index: 890;
  background: rgba(255, 255, 255, 0.98) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid #E2E8F0 !important;
  box-shadow: 0 14px 35px -10px rgba(15, 23, 42, 0.15);
  padding: 10px 20px 26px;
  display: none;
}
.mc-drawer.is-open {
  display: block !important;
}
.mc-drawer a {
  display: block;
  padding: 13px 0;
  color: #0F172A !important;
  font-size: 1.02rem;
  font-weight: 600;
  border-bottom: 1px solid #F1F5F9;
  text-decoration: none;
}
.mc-drawer a:last-of-type {
  border-bottom: 0;
}
.mc-drawer .mc-btn {
  width: 100%;
  margin-top: 16px;
  margin-bottom: 16px;
  text-align: center;
  color: #FFFFFF !important;
}

/* Bloco de troca de idioma embaixo no menu mobile */
.mc-drawer__lang {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #E2E8F0;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}
.mc-drawer__lang-label {
  font-size: 0.82rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #64748B;
}

@media (max-width: 900px) {
  .mc-nav,
  .mc-header .mc-btn,
  .mc-lang-selector--desktop {
    display: none !important;
  }
  .mc-burger {
    display: flex !important;
  }
  .mc-lang-selector--mobile {
    display: inline-flex !important;
  }
}
@media (min-width: 901px) {
  .mc-lang-selector--mobile {
    display: none !important;
  }
  .mc-drawer {
    display: none !important;
  }
}
